Wordpress 主题 Kratos 改造,以支持文章底部自定义内容

更新日期: 2019-12-14 阅读次数: 6442 字数: 385 分类: wordpress

例如我想在 Wordpress 中文主题 Kratos 的文章页底部加入广告。就需要修改 Kratos 的主题代码。

如何在后台添加设置项目

在哪里设置比较好?

后台主题设置的内容设置里,可以参考 SEO 配置里添加文本框,用于填写/编辑文章底部内容。

Wordpress 主题 Kratos 改造,以支持文章底部自定义内容

Wordpress 主题 Kratos 改造,以支持文章底部自定义内容

首先看一下 SEO 配置里的站点统计功能是如何实现的。

grep "站点统计" -r .
./options.php:        'name' => '站点统计',

vim options.php

$options[] = array(
	'name' => '站点统计',
	'id' => 'site_tongji',
	'type' => 'textarea'
);

后台配置如何实现分组的呢?

依次加入 array options,type 为 heading 的即为分组标题。

$options[] = array(
    'name' => 'SEO配置',
    'type' => 'heading'
);

$options[] = array(
    'name' => '关键词',
    'desc' => '每个关键词之间用英文逗号分割',
    'id' => 'site_keywords',
    'type' => 'text'
);

$options[] = array(
    'name' => '站点描述',
    'id' => 'site_description',
    'type' => 'textarea'
);

$options[] = array(
    'name' => '站点统计',
    'id' => 'site_tongji',
    'type' => 'textarea'
);

$options[] = array(
    'name' => '顶部配置',
    'type' => 'heading'
);

所以实现方法就是在内容页面配置 heading 配置下方插入:

$options[] = array(
    'name' => '文章下方内容',
    'id' => 'post_bottom',
    'type' => 'textarea'
);

模板读取后台配置

参考站点统计的做法:

grep site_tongji -r .
./footer.php:                                        
<p><?php echo (!kratos_option('site_tongji')) ? '' : kratos_option('site_tongji'); ?>

判断是否是移动端,分别显示不同内容

修改 single.php

<?php if (wp_is_mobile()) {
    echo kratos_option('post_bottom_mobile');
} else {
    echo kratos_option('post_bottom');
} ?>

效果演示

https://www.paobujie.com/2019/12/11/mizuno-wave-exceed-tour3-ac/

关于作者 🌱

我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式