默认帖子类型的HAS_ARCHIVE

时间:2011-10-14 作者:GreenDude

所以我设置了几个CPT,但我想在/blog下列出我的所有默认帖子。

我希望我能以某种方式为默认帖子类型启用has\\u归档,但我还没有成功。

有什么想法吗?

add_action( \'init\', \'enhance_post\' );

function enhance_post( ) {
    global $wp_post_types;

    $wp_post_types[\'post\']->has_archive = true;
    $wp_post_types[\'post\']->rewrite = array(
        \'slug\' => \'blog\',
        \'with_front\' => 0,
        \'pages\' => 1,
    );
}
(以上似乎不起作用)

2 个回复
最合适的回答,由SO网友:Rarst 整理而成

您可以通过阅读设置更改首页并指定另一个作为博客。

看见Creating a Static Front Page 在法典中。

SO网友:Arvind Kala

您可以使用以下代码

add_action( \'init\', function () {
    $post_type = \'post\';
    $post_type_object = get_post_type_object( $post_type);
    $post_type_object->has_archive = \'true\';
    $post_type_object->rewrite = array(
        \'slug\' => \'<YOUR_SLUG>\',
    );

    register_post_type($post_type, $post_type_object);
} );
除此之外,您还可以添加重写规则来处理:

add_rewrite_rule( \'^<YOUR_SLUG>$\',\'index.php?post_type=post\',\'top\' );
add_rewrite_rule( \'^<YOUR_SLUG>/page/([0-9]{1,})/?$\',\'index.php?post_type=post&paged=$matches[1]\',\'top\' );

结束

相关推荐

默认帖子类型的HAS_ARCHIVE - 小码农CODE - 行之有效找到问题解决它

默认帖子类型的HAS_ARCHIVE

时间:2011-10-14 作者:GreenDude

所以我设置了几个CPT,但我想在/blog下列出我的所有默认帖子。

我希望我能以某种方式为默认帖子类型启用has\\u归档,但我还没有成功。

有什么想法吗?

add_action( \'init\', \'enhance_post\' );

function enhance_post( ) {
    global $wp_post_types;

    $wp_post_types[\'post\']->has_archive = true;
    $wp_post_types[\'post\']->rewrite = array(
        \'slug\' => \'blog\',
        \'with_front\' => 0,
        \'pages\' => 1,
    );
}
(以上似乎不起作用)

2 个回复
最合适的回答,由SO网友:Rarst 整理而成

您可以通过阅读设置更改首页并指定另一个作为博客。

看见Creating a Static Front Page 在法典中。

SO网友:Arvind Kala

您可以使用以下代码

add_action( \'init\', function () {
    $post_type = \'post\';
    $post_type_object = get_post_type_object( $post_type);
    $post_type_object->has_archive = \'true\';
    $post_type_object->rewrite = array(
        \'slug\' => \'<YOUR_SLUG>\',
    );

    register_post_type($post_type, $post_type_object);
} );
除此之外,您还可以添加重写规则来处理:

add_rewrite_rule( \'^<YOUR_SLUG>$\',\'index.php?post_type=post\',\'top\' );
add_rewrite_rule( \'^<YOUR_SLUG>/page/([0-9]{1,})/?$\',\'index.php?post_type=post&paged=$matches[1]\',\'top\' );

相关推荐

默认帖子类型的HAS_ARCHIVE - 小码农CODE - 行之有效找到问题解决它

默认帖子类型的HAS_ARCHIVE

时间:2011-10-14 作者:GreenDude

所以我设置了几个CPT,但我想在/blog下列出我的所有默认帖子。

我希望我能以某种方式为默认帖子类型启用has\\u归档,但我还没有成功。

有什么想法吗?

add_action( \'init\', \'enhance_post\' );

function enhance_post( ) {
    global $wp_post_types;

    $wp_post_types[\'post\']->has_archive = true;
    $wp_post_types[\'post\']->rewrite = array(
        \'slug\' => \'blog\',
        \'with_front\' => 0,
        \'pages\' => 1,
    );
}
(以上似乎不起作用)

2 个回复
最合适的回答,由SO网友:Rarst 整理而成

您可以通过阅读设置更改首页并指定另一个作为博客。

看见Creating a Static Front Page 在法典中。

SO网友:Arvind Kala

您可以使用以下代码

add_action( \'init\', function () {
    $post_type = \'post\';
    $post_type_object = get_post_type_object( $post_type);
    $post_type_object->has_archive = \'true\';
    $post_type_object->rewrite = array(
        \'slug\' => \'<YOUR_SLUG>\',
    );

    register_post_type($post_type, $post_type_object);
} );
除此之外,您还可以添加重写规则来处理:

add_rewrite_rule( \'^<YOUR_SLUG>$\',\'index.php?post_type=post\',\'top\' );
add_rewrite_rule( \'^<YOUR_SLUG>/page/([0-9]{1,})/?$\',\'index.php?post_type=post&paged=$matches[1]\',\'top\' );

相关推荐