WordPress小工具太少了,怎么自定义多添加几个小工具?

原创 野人  2021-08-25 09:01  阅读 256 次

确实,有过几款主题,小工具太少的话,对于像小编这样有怎么一个需求,就是首页一个小工具,正文/标签页又是一个小工具,而不同的小工具自然所展示的内容自然是不同的,所以有了需求之后,自然就要着手看下怎么解决这个痛点了。

小编这不解决完了痛点,把遇到的坑给大家讲讲。

首先,注册多个小工具,还是蛮简单的,将下方的代码,放在当前主题下functions.php文件的?>之前就可以了,代码如下:

if (function_exists('register_sidebar')) {
	register_sidebar(array(
		'name'          => '首页侧边栏',
		'id'            => 'sidebar-1',
		'description'   => '首页侧边栏',
		'before_widget' => '<aside id="%1$s" class="widget %2$s">',
		'after_widget'  => '</aside>',
		'before_title'  => '<h3 class="widget-title">',
		'after_title'   => '</h3>',
	));
	register_sidebar(array(
		'name'          => '正文,单页面,标签,分类目录侧边栏',
		'id'            => 'sidebar-2',
		'description'   => '正文,页面侧边栏',
		'before_widget' => '<aside id="%1$s" class="widget %2$s">',
		'after_widget'  => '</aside>',
		'before_title'  => '<h3 class="widget-title">',
		'after_title'   => '</h3>',
	));
}

像上方的代码小编就是注册了两个小工具,如果大家需要n个话,就是把相应的代码片段多复制几个,然后名字改改就可以了。

下面要说的是,怎么让小工具生效?这里就遇到了一个坑,就是想在页面上能展示到小工具,至少在代码层面上要添加相应的代码片段把。然后小编做完之后才知道,对应的模板页,压根就没添加小工具的代码,导致小编以为是注册小工具的代码失效了,后台设置上是不是出了问题,所以这点大家一定要记得。

首先,是要在模板页引入小工具(这个引入的地方大家根据自己的小工具要展示的地方来放置的,一般都是放在侧边栏),代码如下:

<?php get_template_part('template/sidebar'); ?>

上面代码的意思是说,要引入主题下面的template文件夹的sidebar.php文件的内容。

接下来大家的重心就是sidebar.php的文件内容了,一般来说这文件里面就是最终控制展示哪个小工具的核心代码了,如上面的列子,小编想首页用sidebar-1的侧边栏小工具,而正文,单页面,标签,分类目录侧边栏...则使用sidebar-2这个侧边栏小工具,注意,这里的sidebar-1,sidebar-2,就是大家自己定义的,所以在下面的代码中,如果你的这个id不一样的话,就要进行对应的修改了。

<div class="sidebar">
    <?php if (is_single() || is_page()) { ?>
        <?php dynamic_sidebar('sidebar-2'); ?>
    <?php } else { ?>
        <?php dynamic_sidebar('sidebar-1'); ?>
    <?php } ?>
</div>

至此,完美设置了自定义小工具,并成功展示出来了。

本文地址:https://www.yerenwz.com/4533.html
版权声明:本文为原创文章,版权归 野人 所有,欢迎分享本文,转载请保留出处!

发表评论