WordPress 主题文章类型较多,想实现不同的文章类型页面调用不同的边栏,一般的方法是将代码写在主题根目录下的 sidebar.php 文件中,通过对页面的判断来调用不同的代码,这样会产生更多的代码,并且页面种类繁多判断也很麻烦,所以今天萨龙龙来介绍一种相对简便的方法。
添加边栏
一般添加边栏的代码为以下代码,添加多个边栏可复制下数组,将以下代码添加到主题函数 functions.php 文件中即可。
- function truethemes_widgets_init() {
- register_sidebar(
- array(
- 'name' => __('首页','salong'),
- 'id' => 'sidebar-1',
- 'description' => __('这个边栏显示在最新文章边栏','salong'),
- 'before_widget' => '<section id="%1$s" class="sidebar_widget %2$s">',
- 'after_widget' => '</section>',
- 'before_title' => '<div class="sidebar_title"><h3>',
- 'after_title' => '</h3></div>',
- )
- );
- }
- add_action( 'widgets_init', 'truethemes_widgets_init' );
获取边栏的简便代码
- function salong_sidebar($id){
- global $wp_registered_sidebars,$salong;
- $index = "sidebar-".$id;
- $sidebar_name = $wp_registered_sidebars[$index]['name'];
- echo '<aside class="sidebar">';
-
- if ( is_active_sidebar($index) ) {
- if(is_single() && $salong[ 'switch_author']) { get_template_part( 'includes/widgets/widget', 'author'); }
- dynamic_sidebar($sidebar_name);
- echo '<article id="move" class="move">';
- dynamic_sidebar(__( '移动', 'salong'));
- echo '</article>';
- }else{
- echo '<article class="sidebar_widget widget_salong_init">';
- echo '<div class="sidebar_title">';
- echo '<h3>';
- echo __('温馨提示','salong');
- echo '</h3>';
- echo '</div>';
- echo '<div class="init"><a href="'.get_home_url().'/wp-admin/widgets.php">';
- echo sprintf(__('请到后台外观——小工具中添加小工具到<b>%s</b>边栏中。','salong'),$sidebar_name);
- echo '</a></div>';
- echo '</article>';
- }
- echo '</aside>';
- }
以上代码同样添加到主题函数 functions.php 文件中,添加边栏时也为边栏添加了一个『sidebar-1』这样的 ID,我们可以通过 ID 来获取边栏的名称,以及判断当前边栏是否有添加小工具,从而来提示用户添加小工具到边栏中。
调用边栏
- <?php salong_sidebar(1); ?>
其中的『1』为 ID『sidebar-1』数值,想调用哪个边栏修改其中的数值就 OK,是不是更加简便,都不用对页面进行判断。本文原创,作者:萨龙龙,其版权均为萨龙网络所有。
如需转载,请注明出处:https://salongweb.com/wordpress-sidebar.html
一个平平常常的人,热爱生活、旅行和摄影,骑行去过西藏,一直计划再去。14年从江西骑行来到大理,现栖居于洱海边,食人间烟火,过简单生活,做简约设计!Wordpress的强大就是什么样的扩展都有,最近浏览用户网站时发现用的“不是我的主题”,查看源代码才发现是使用了网站维护插件maintenan…萨龙网络使用Buddypress社区已经很长一段时间,在社区首页动态中可能获取整个网站的最新文章、用户注册,用户动态内容,而自定义文章类型的发布…使用WordPressMU多站点来管理所有的站点确实很方便,可以省去很多重复的工作,节省资源。萨龙网络使用MU多站点已经很久,已经爱不释手,也…WooCommerce插件默认为我的帐户页面提供了:仪表盘、订单、下载、地址、帐户详情几个页面,以及一个退出登录的按钮,如果出售的是实物或者没…前面我们介绍了如果安装WordPressMU,安装完成后我们就需要把每个独立站点的数据转移到MU中,在MU中最原始的站点数据是不需要改动,只需…WordPress网站的速度应该上每个站长必须关注的一个问题,对于刚使用WordPress的朋友,优化网站速度是比较困难的事情,找不到好的…MNews主题集成了WooCommerce商城插件,有些用户要求增加一个『立即购买』按钮,这篇文章介绍下如何在WooCommerce中添加…产品属性可在后台「产品——产品选项——属性」中单独设置(也可在编辑产品时再次添加),有三种类型:文本、颜色和图片,在前台也是以这三种方式来显示。…SlhaoPro主题前端上线后每天能收到宝塔的提示,说项目已经停止,找了很久没有发现问题。在查看node项目网站日志中的响应日志和错误日志时,…自动获取照片的EXIF信息,很多大型的摄影论坛都有这个功能,对于摄影爱好者来说是一个很实用的功能。萨龙龙开发的Deephoto主题和Neatim…WordPress能够在自定义菜单中存储每个菜单项的描述,默认情况下,这些描述不会显示在前端菜单中,需要为相应的菜单增加显示描述的功能。
一…还是在开发导航类主题Slhao的时候遇到的问题,主题使用CodestarFramework专业版选项框架,文章的Metabox选项…