加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > CMS系统 > wordpress > 正文

提高 WordPress 主题的插件体验

发布时间:2020-12-14 14:11:28 所属栏目:wordpress 来源:网络整理
导读:很多主题作者为了提高开发效率,在主题里预留了一些指定插件的接口,当用户使用该主题,并且激活了相应的插件时,主题将自动调用插件,生成最适合该主题的效果。 如何为插件预留接口呢?以普及率很高的WP-Pagenavi插件为例,使用以下代码: ?php if(function

很多主题作者为了提高开发效率,在主题里预留了一些指定插件的接口,当用户使用该主题,并且激活了相应的插件时,主题将自动调用插件,生成最适合该主题的效果。

如何为插件预留接口呢?以普及率很高的WP-Pagenavi插件为例,使用以下代码:

< ?php if(function_exists('wp_pagenavi')) : ?>
< ?php wp_pagenavi() ?>
< ?php endif; ?>

这样当用户激活了WP-Pagenavi插件时,主题将自动调用插件的功能,不需要再修改模板。

但是以上的代码当用户没有使用WP-Pagenavi插件时,主题将失去文章列表分页功能。为了让主题的功能平稳退化,现在所有的主题作者都会使用以下的代码:

< ?php if(function_exists('wp_pagenavi')) : ?>
< ?php wp_pagenavi() ?>
< ?php else : ?>
<span class="newer">< ?php previous_posts_link(__('Newer Entries»')); ?></span>
<span class="older">< ?php next_posts_link(__('«Older Entries')); ?></span>
< ?php endif; ?>

这样在用户没有激活WP-Pagenavi插件时,主题将使用WordPress提供的分页功能对文章列表进行分页。主题也不会绝对的依赖插件。
还有一种情况是在主题的某些模板中需要插件支持的,以我制作的Inpad主题为例,在Archives模板里需要调用WP_EasyArchives插件来生成安时间线存档的文章列表。在激活WP_EasyArchives插件时,该模板的效果如下:

Archives模板正常效果

引用的内容:[www.veryhuo.com]
< ?php if (function_exists('wp_easyarchives')) : ?>
< ?php wp_easyarchives(); ?>
< ?php else : ?>
<div class="messagebox">
< ?php _e('Sorry,please activate WP-EasyArchives plugin.'); ?>
</div>
< ?php endif; ?>

同过设置环境条件不能达到模板要求时的应对方案,可以防止用户在没有激活插件时导致页面出错,也可以增强主题对用户的友好性。
但这种强迫用户使用插件的行为同样也不是我所提倡的,只是时间关系,我不能及时地做出一个更好的应对方案。最好的方法,当然是集成插件,或者把一个完整的替代功能做进主题里。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读