也想出现在这里?联系我们

给wordpress自定义文章类型添加文章置顶功能选项

2023.10.11 wordpress教程
  • 文章介绍
  • 升级版本
  • 评价&建议

要给WordPress自定义文章类型添加文章置顶功能选项,你可以按照以下步骤进行操作。在这个示例中,我们将创建一个名为"books"的自定义文章类型,并添加一个文章置顶的复选框选项。

步骤1:创建自定义文章类型
首先,在你的主题或自定义插件中注册自定义文章类型。你可以将以下代码添加到主题的functions.php文件或创建一个自定义插件:

function custom_register_books_post_type() {
    $labels = array(
        'name' => '图书',
        'singular_name' => '图书',
        'add_new' => '添加新书',
        'add_new_item' => '添加新书',
        'edit_item' => '编辑书',
        'new_item' => '新书',
        'view_item' => '查看书',
        'search_items' => '搜索书',
        'not_found' => '未找到书',
        'not_found_in_trash' => '回收站中未找到书',
    );

    $args = array(
        'labels' => $labels,
        'public' => true,
        'has_archive' => true,
        'menu_icon' => 'dashiconsbook',
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'customfields'),
    );

    register_post_type('books', $args);
}

add_action('init', 'custom_register_books_post_type');

这段代码将创建一个名为"books"的自定义文章类型。

步骤2:添加文章置顶选项
接下来,你需要为自定义文章类型添加文章置顶的复选框选项。你可以使用add_meta_box函数来实现这一点。将以下代码添加到你的主题的functions.php文件或自定义插件中:

function custom_add_top_checkbox_meta_box() {
    add_meta_box(
        'custom_top_checkbox',
        '文章置顶',
        'custom_top_checkbox_callback',
        'books', // 替换为你的自定义文章类型名称
        'side',
        'default'
    );
}

function custom_top_checkbox_callback($post) {
    $value = get_post_meta($post>ID, '_custom_top_checkbox', true);
    ?>
    <label for="custom_top_checkbox">
        <input type="checkbox" name="custom_top_checkbox" id="custom_top_checkbox" <?php checked($value, 'on'); ?> />
        将此文章置顶
    </label>
    <?php
}

function custom_save_top_checkbox($post_id) {
    if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) 
        return $post_id;

    if (isset($_POST['custom_top_checkbox'])) {
        update_post_meta($post_id, '_custom_top_checkbox', 'on');
    } else {
        delete_post_meta($post_id, '_custom_top_checkbox');
    }
}

add_action('add_meta_boxes', 'custom_add_top_checkbox_meta_box');
add_action('save_post', 'custom_save_top_checkbox');

上述代码将在自定义文章类型编辑页面的侧边栏添加一个复选框,允许你将文章置顶。

步骤3:显示置顶文章
最后,你可以在你的主题模板中修改文章查询来显示置顶文章。例如,你可以在你的自定义文章类型循环中添加以下代码来将置顶文章显示在顶部:

$args = array(
    'post_type' => 'books', // 替换为你的自定义文章类型名称
    'meta_key' => '_custom_top_checkbox',
    'meta_value' => 'on',
    'orderby' => 'meta_value',
    'order' => 'DESC',
);

$top_query = new WP_Query($args);

if ($top_query>have_posts()) {
    while ($top_query>have_posts()) {
        $top_query>the_post();
        // 在这里显示置顶文章
    }
    wp_reset_postdata();
}

// 此处继续显示普通文章

这将在文章查询中将置顶文章显示在顶部。

通过上述步骤,你可以给WordPress自定义文章类型添加文章置顶功能选项。请确保根据你的需求调整代码中的文章类型名称和其他参数。

有用0
  • 2023.10.11初次和大家见面了!

等待您对该主题的建议

发表评论

还能输入240个字

Hi, 欢迎加入Wordpress技术交流群,带你装逼带你飞!

我要入群
也想出现在这里?联系我们
wordpress加速

我来推荐一个更牛逼的给你看看?

  • 猛戳我吧