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

文章目录

    例如我想在 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 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式