子比主题自选分类页列表样式-zibll教程分享社区-zibll子比主题-WordPress主题模板-zibll子比主题

子比主题自选分类页列表样式

该帖子部分内容已隐藏
付费阅读
已售 1
30
此内容为付费阅读,请付费后查看
本期教程为教大家如何自选子比主题分类页、标签页、专题页文章列表显示样式的教程

教程开始

首先,本教程涉及修改子比主题自带的文件,操作前请务必备份源代码,以及收藏本教程(子比主题更新会导致本功能失效,提前备份更新无忧)

先打开主题根目录下的functions.php或者func.php文件,推荐func.php主题更新不会丢失代码

加入以下代码,拓展分类、标签、专题编辑页面增加列表样式选择

// 定义列表样式的选项
function zib_get_list_styles() {
    return array(
        'list_thumb' => __('列表图文模式', 'zci'),
        'card'       => __('卡片模式', 'zci'),
    );
}

// 添加分类、标签、专题的列表样式选择字段
function zib_admin_add_term_list_style_field($taxonomy) {
    $term_id = isset($_GET['tag_ID']) ? intval($_GET['tag_ID']) : 0;
    $list_style = get_term_meta($term_id, 'list_style', true);
    ?>
    <tr class="form-field">
        <th scope="row" valign="top"><label for="list_style"><?php _e('列表样式', 'zci'); ?></label></th>
        <td>
            <select name="list_style" id="list_style">
                <?php foreach (zib_get_list_styles() as $value => $label): ?>
                    <option value="<?php echo esc_attr($value); ?>" <?php selected($list_style, $value); ?>>
                        <?php echo esc_html($label); ?>
                    </option>
                <?php endforeach; ?>
            </select>
            <p class="description"><?php _e('选择该分类、标签或专题页面的文章列表样式。', 'zci'); ?></p>
        </td>
    </tr>
    <?php
}

// 挂载到分类、标签、专题的编辑页面
add_action('category_edit_form_fields', 'zib_admin_add_term_list_style_field');
add_action('post_tag_edit_form_fields', 'zib_admin_add_term_list_style_field');
add_action('topics_edit_form_fields', 'zib_admin_add_term_list_style_field');

add_action('category_add_form_fields', 'zib_admin_add_term_list_style_field');
add_action('post_tag_add_form_fields', 'zib_admin_add_term_list_style_field');
add_action('topics_add_form_fields', 'zib_admin_add_term_list_style_field');

// 保存分类、标签、专题的列表样式选择
function zib_admin_save_term_list_style($term_id) {
    if (isset($_POST['list_style'])) {
        update_term_meta($term_id, 'list_style', sanitize_text_field($_POST['list_style']));
    }
}

add_action('edited_category', 'zib_admin_save_term_list_style');
add_action('create_category', 'zib_admin_save_term_list_style');
add_action('edited_post_tag', 'zib_admin_save_term_list_style');
add_action('create_post_tag', 'zib_admin_save_term_list_style');
add_action('edited_topics', 'zib_admin_save_term_list_style');
add_action('create_topics', 'zib_admin_save_term_list_style');

20250210210204434-QQ_1739192518704

然后修改子比主题列表函数,使其对特定分类、标签或专题页面列表样式的支持

 

请登录后发表评论