添加侧边栏以及让每篇文章调用不同的侧边栏 – WordPress教程

王小优
王小优
王小优
231
文章
0
评论
2015年8月31日 评论 4,273 2253字阅读7分30秒
摘要

每页文章固定内容的侧边栏看多了很枯燥,怎么添加侧边栏以及让每篇文章调用不同的侧边栏?本篇文章不需任何基础,按照我的方式一步步来就能完成,原因自然是不同的侧边栏可以让用户体验和SEO效果更好啦。

添加侧边栏以及让每篇文章调用不同的侧边栏 – WordPress教程

一、添加侧边栏

WordPress怎么添加侧边栏,不仅仅是上传个代码那么简单,为了方便,能将其放在WordPress的后台部分是更好的选择。下面说流程:

首先我们找到主题的functions.php文件,打开编辑functions.php,找到关于sidebar的代码,直接复制。

  1. function twentysixteen_widgets_init() {
  2. register_sidebar( array(
  3. 'name' => __( 'Sidebar', 'twentysixteen' ),
  4. 'id' => 'sidebar-1',
  5. 'description' => __( 'Add widgets here to appear in your sidebar.', 'twentysixteen' ),
  6. 'before_widget' => '<section id="%1$s" class="widget %2$s">',
  7. 'after_widget' => '</section>',
  8. 'before_title' => '<h2 class="widget-title">',
  9. 'after_title' => '</h2>',
  10. ) );
  11. }

说下基本参数:

  • name – 侧边栏的名字(默认是 ‘Sidebar’ 加 数字 ID)
  • id – 侧边栏 ID,必须全部小写,不带空格(默认是一个自动递增的数字 ID)
  • description – 用来说明侧边栏是什么,在哪里显示的文字。会在小工具管理界面显示。(默认为空)
  • class – 分配到小工具 HTML输出 中的CSS选择器名字(默认为空)
  • before_widget – 在每个小工具前面输出的 HTML代码(默认: ‘<li id="%1$s" class="widget %2$s">’)注:使用sprintf的变量替换
  • after_widget – 在每个小工具后面输出的 HTML代码(默认: "</li>\n")
  • before_title – 在标题前输出的 HTML代码(默认: <h2 class="widgettitle">)
  • after_title – 在标题后输出的 HTML代码 (默认:"</h2>\n")

我们具体使用只需要参考原来的代码进行改动就好了。比如我现在就在后面加了一段:

  1. register_sidebar( array(
  2. 'name' => __( 'Sidebar4', 'twentysixteen' ),
  3. 'id' => 'sidebar-4',
  4. 'description' => __( 'Add widgets here to appear in your sidebar.', 'twentysixteen' ),
  5. 'before_widget' => '<section id="%1$s" class="widget %2$s">',
  6. 'after_widget' => '</section>',
  7. 'before_title' => '<h2 class="widget-title">',
  8. 'after_title' => '</h2>',
  9. ) );

这个时候打开小工具就发现后面多了一个叫sidebar4的侧边栏啦。可以把你想要的侧边栏效果工具往里面添加了。

如下图,我添加了三个“文章测栏1,文章测栏2,文章测栏3”。

此处注意ID的不同。

添加侧边栏以及让每篇文章调用不同的侧边栏 – WordPress教程

保存完毕之后,返回到WordPress后台的小工具选项,打开后我们发现页面上新多了三个侧边栏。

添加侧边栏以及让每篇文章调用不同的侧边栏 – WordPress教程

二、怎么让文章调用侧边栏

首先是添加文章需要绑定的代码文件。

在主题根目录新对应的三个文件,如下图。

添加侧边栏以及让每篇文章调用不同的侧边栏 – WordPress教程

以第一个文件为例,我这里名字为side1.php内容为:

  1. <?php if ( is_active_sidebar( 'sidebar-4' ) ) : ?>
  2. <aside id="secondary" class="sidebar widget-area" role="complementary">
  3. <?php dynamic_sidebar( 'sidebar-4' ); ?>
  4. </aside><!-- .sidebar .widget-area -->
  5. <?php endif; ?>

添加侧边栏以及让每篇文章调用不同的侧边栏 – WordPress教程

functions.php文件和side1.php文件修改完毕之后。

怎么让文章跟侧边栏绑定到一起呢?使用自定义字段是个很不错的选择,具体使用方法就是打开文章编辑界面的显示选项,然后输入参数和值即可。

要想让自定义字段起作用,就要先让文章能够识别自定义字段的作用。我们编辑single.php文件。找到get_sidebar()函数:

  1. <?php get_sidebar(); ?>

将其替换为:

  1. <?php
  2. $sidebar = get_post_meta($post->ID, 'sidebar', true);
  3. if (emptyempty($sidebar)){
  4. $sidebar = 'sidebar';
  5. }
  6. include_once("$sidebar.php");
  7. ?>

更新后文章就会根据我们输入的自定义字段的值来变化侧边栏了。我这里输入了:

添加侧边栏以及让每篇文章调用不同的侧边栏 – WordPress教程

对应的就是我刚刚测试的那个文件名字。最后更新文章后,发现侧边栏改变成我们刚才添加的侧边栏sid1的侧边栏了。

PS:注意标点符号,容易出错误。我当时弄了半天才发现。

若文章图片、下载链接等信息出错,请在评论区留言反馈,博主将第一时间更新!如果喜欢,请打赏支持本站,谢谢大家!
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微博
  • 微博扫一扫
  • weinxin
王小优
匿名

发表评论

匿名网友 填写信息

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