WordPress如何注册页面并指定ID

一、WordPress如何注册页面并指定ID

在WordPress中注册自定义页面并指定一个特定的ID,你可以使用register_post_type函数。以下是一个示例代码,展示了如何注册一个名为”my_custom_page”的自定义页面类型,并为其指定一个ID。

<?php
// 在functions.php或你的插件文件中使用
 
function my_custom_page_init() {
    $args = array(
        'public' => true,
        'label' => '自定义页面',
        'singular_label' => '自定义页面',
        'menu_position' => 5,
        'menu_icon' => 'dashicons-admin-site',
        'show_in_rest' => true,
        'supports' => array('title', 'editor', 'thumbnail'),
        'has_archive' => false,
        'rewrite' => array('slug' => 'my-custom-page', 'pages' => true),
        'capability_type' => 'page',
    );
 
    register_post_type('my_custom_page', $args);
}
 
add_action('init', 'my_custom_page_init');

在这个例子中,我们定义了一个自定义页面类型,并通过rewrite参数指定了URL的slug为”my-custom-page”。capability_type参数设置为”page”表明这是一个页面,并且它将使用页面的权限系统。

要创建这个自定义页面,你可以通过WordPress后台添加新内容,并在添加界面左上角选择”自定义页面”类型。然后,你可以为它分配一个特定的ID,例如”my-custom-page”,通过WordPress后台的”编辑”链接,然后在”高级”选项卡中找到并设置”页面ID”。这样,你就可以通过指定的URL访问这个自定义页面了。

提示:仅供参考

二、WordPress如何注册分类筛选页面并指定ID

在WordPress中注册一个分类筛选页面并指定一个特定的ID,你可以使用register_post_type_args函数来注册一个自定义的文章类型,并在其中设置rewrite参数来定义URL结构,然后使用register_taxonomy_for_object_type函数来将分类法与新的文章类型关联起来。

以下是一个示例代码,演示如何注册一个分类筛选页面并指定ID为category_filter

function custom_post_type_init() {
    $args = array(
        'public'       => true,
        'label'        => '分类筛选页',
        'description'  => '用于分类筛选的特殊页面',
        'menu_position' => 5,
        'supports'     => array('title'), // 只支持标题
        'rewrite'      => array('slug' => 'category_filter'), // 指定URL slug
        'has_archive'  => false, // 不显示存档页面
    );
 
    register_post_type('category_filter', $args);
 
    // 注册文章类型的重写规则
    $rewrite = array(
        'slug'       => 'category_filter',
        'with_front' => false,
        'pages'      => true,
        'feeds'      => true,
    );
 
    register_post_type('category_filter', array('rewrite' => $rewrite));
 
    // 注册分类筛选页面到分类法
    register_taxonomy_for_object_type('category', 'category_filter');
}
 
add_action('init', 'custom_post_type_init');

这段代码将创建一个名为category_filter的新文章类型,并指定了一个特定的ID。它还将这个文章类型与category分类法关联起来,使得每个category_filter页面都可以通过其分类来筛选文章。

提示:仅供参考

发表回复