WordPress中调用边栏的简便方法与提示

2018年5月8日23:14:59 1 37
广告

WordPress 主题文章类型较多,想实现不同的文章类型页面调用不同的边栏,一般的方法是将代码写在主题根目录下的 sidebar.php 文件中,通过对页面的判断来调用不同的代码,这样会产生更多的代码,并且页面种类繁多判断也很麻烦,所以今天萨龙龙来介绍一种相对简便的方法。

添加边栏

一般添加边栏的代码为以下代码,添加多个边栏可复制下数组,将以下代码添加到主题函数 functions.php 文件中即可。

  1. function truethemes_widgets_init() {
  2.     register_sidebar(
  3.         array(
  4.             'name'                  => __('首页','man'),
  5.             'id'                        => 'sidebar-1',
  6.             'description'       => __('这个边栏显示在最新文章边栏','man'),
  7.             'before_widget' => '<section id="%1$s" class="sidebar_widget %2$s">',
  8.             'after_widget'    => '</section>',
  9.             'before_title'      => '<div class="sidebar_title"><h3>',
  10.             'after_title'         => '</h3></div>',
  11.         )
  12.     );
  13. }
  14. add_action( 'widgets_init', 'truethemes_widgets_init' );

获取边栏的简便代码

  1. function man_sidebar($id){
  2.     global $wp_registered_sidebars,$man;
  3.     $index = "sidebar-".$id//获取边栏 ID
  4.     $sidebar_name = $wp_registered_sidebars[$index]['name'];//获取边栏名称
  5.     echo '<aside class="sidebar">';
  6.     //判断边栏中是否有小工具,有就输入边栏,没有就输入提示添加小工具。
  7.     if ( is_active_sidebar($index) ) {
  8.         if(is_single() && $man[ 'switch_author']) { get_template_part( 'includes/widgets/widget', 'author'); }
  9.         dynamic_sidebar($sidebar_name);
  10.         echo '<article id="move" class="move">';
  11.         dynamic_sidebar(__( '移动', 'man'));
  12.         echo '</article>';
  13.     }else{
  14.         echo '<article class="sidebar_widget widget_man_init">';
  15.         echo '<div class="sidebar_title">';
  16.         echo '<h3>';
  17.         echo __('温馨提示','man');
  18.         echo '</h3>';
  19.         echo '</div>';
  20.         echo '<div class="init"><a href="'.get_home_url().'/wp-admin/widgets.php">';
  21.         echo sprintf(__('请到后台外观——小工具中添加小工具到<b>%s</b>边栏中。','man'),$sidebar_name);
  22.         echo '</a></div>';
  23.         echo '</article>';
  24.     }
  25.     echo '</aside>';
  26. }

以上代码同样添加到主题函数 functions.php 文件中,添加边栏时也为边栏添加了一个『sidebar-1』这样的 ID,我们可以通过 ID 来获取边栏的名称,以及判断当前边栏是否有添加小工具,从而来提示用户添加小工具到边栏中。

调用边栏

  1. <?php man_sidebar(1); ?>

其中的『1』为 ID『sidebar-1』数值,想调用哪个边栏修改其中的数值就 OK,是不是更加简便,都不用对页面进行判断。

avatar

发表留言

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前留言:1   其中:访客  1   博主  0

    • avatar 异星软件空间 来自天朝的朋友 Internet Explorer Windows 7 河南省新乡市 电信 1

      新老鸟都用得到哦!