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

## 添加边栏

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

1. function truethemes\_widgets\_init() {
2. register\_sidebar(
3. array(
4. ‘name’ =&gt; \_\_(‘首页’,’salong’),
5. ‘id’ =&gt; ‘sidebar-1’,
6. ‘description’ =&gt; \_\_(‘这个边栏显示在最新文章边栏’,’salong’),
7. ‘before\_widget’ =&gt; ‘&lt;section id=“%1$s” class=“sidebar\_widget %2$s”&gt;’,
8. ‘after\_widget’ =&gt; ‘&lt;/section&gt;’,
9. ‘before\_title’ =&gt; ‘&lt;div class=“sidebar\_title”&gt;&lt;h3&gt;’,
10. ‘after\_title’ =&gt; ‘&lt;/h3&gt;&lt;/div&gt;’,
11. )
12. );
13. }
14. add\_action( ‘widgets\_init’, ‘truethemes\_widgets\_init’ );

## 获取边栏的简便代码

1. function salong\_sidebar($id){
2. global $wp\_registered\_sidebars,$salong;
3. $index = “sidebar-“.$id; //获取边栏 ID
4. $sidebar\_name = $wp\_registered\_sidebars\[$index\]\[‘name’\];//获取边栏名称
5. echo ‘&lt;aside class=“sidebar”&gt;’;
6. //判断边栏中是否有小工具，有就输入边栏，没有就输入提示添加小工具。
7. if ( is\_active\_sidebar($index) ) {
8. if(is\_single() &amp;&amp; $salong\[ ‘switch\_author’\]) { get\_template\_part( ‘includes/widgets/widget’, ‘author’); }
9. dynamic\_sidebar($sidebar\_name);
10. echo ‘&lt;article id=“move” class=“move”&gt;’;
11. dynamic\_sidebar(\_\_( ‘移动’, ‘salong’));
12. echo ‘&lt;/article&gt;’;
13. }else{
14. echo ‘&lt;article class=“sidebar\_widget widget\_salong\_init”&gt;’;
15. echo ‘&lt;div class=“sidebar\_title”&gt;’;
16. echo ‘&lt;h3&gt;’;
17. echo \_\_(‘温馨提示’,’salong’);
18. echo ‘&lt;/h3&gt;’;
19. echo ‘&lt;/div&gt;’;
20. echo ‘&lt;div class=“init”&gt;&lt;a href=“‘.get\_home\_url().’/wp-admin/widgets.php”&gt;’;
21. echo sprintf(\_\_(‘请到后台外观——小工具中添加小工具到&lt;b&gt;%s&lt;/b&gt;边栏中。’,’salong’),$sidebar\_name);
22. echo ‘&lt;/a&gt;&lt;/div&gt;’;
23. echo ‘&lt;/article&gt;’;
24. }
25. echo ‘&lt;/aside&gt;’;
26. }

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

## 调用边栏

1. &lt;?php salong\_sidebar(1); ?&gt;

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