提高 WordPress 主题的插件体验

前端之家收集整理的这篇文章主要介绍了提高 WordPress 主题的插件体验前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

如何为插件预留接口呢?以普及率很高的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; ?>

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

猜你在找的wordpress相关文章