更改标准WP POST类别的辅助模块

时间:2016-08-16 作者:new Android

我知道如何处理自定义帖子类型,但如何更改我的标准wp帖子类别archiv以从域移动。com/cat存档到域。函数内的com/something/cat存档。php?

2 个回复
SO网友:mukto90

你为什么要functions.php? 转到Settings > Permalinks 和使用something/%category% 作为您的Category base

enter image description here

SO网友:TheGentleman

Wordpress没有一种内置的方法来很好地做到这一点。但是,可以通过重新注册默认的帖子类型来完成。在您的functions.php

add_action(\'init\', \'customize_default_post_type\');
function customize_default_post_type() {
    $labels = array(
        \'name\'               => _x( \'Posts\', \'post type general name\'),
        \'singular_name\'      => _x( \'Post\', \'post type singular name\'),
        \'menu_name\'          => _x( \'Posts\', \'admin menu\'),
        \'name_admin_bar\'     => _x( \'Posts\', \'add post on admin bar\'),
        \'add_new\'            => _x( \'Add New Post\', \'post\'),
        \'add_new_item\'       => __( \'New Post\'),
        \'new_item\'           => __( \'New Post\'),
        \'edit_item\'          => __( \'Edit Post\'),
        \'view_item\'          => __( \'View Post\'),
        \'all_items\'          => __( \'All Posts\'),
        \'search_items\'       => __( \'Search Posts\'),
        \'parent_item_colon\'  => __( \'Parent Posts:\'),
        \'not_found\'          => __( \'No posts found.\'),
        \'not_found_in_trash\' => __( \'No posts found in Trash.\')
    );
    register_post_type( \'post\', [
        \'labels\' => $labels,
        \'public\'  => true,
        \'_builtin\' => false,
        \'_edit_link\' => \'post.php?post=%d\',
        \'capability_type\' => \'post\',
        \'map_meta_cap\' => true,
        \'hierarchical\' => false,
        \'rewrite\' => array( \'slug\' => \'<your custom slug>\' ),  //<--- Custom slug goes here.
        \'query_var\' => false,
        \'supports\' => array( \'title\', \'editor\', \'author\', \'thumbnail\', \'excerpt\', \'trackbacks\', \'custom-fields\', \'comments\', \'revisions\', \'post-formats\' ),
    ] );
}

/** This bit prevents the post editor on the backend from being listed twice **/
add_action( \'admin_menu\', \'customizeAdminMenu\' );
function customizeAdminMenu(){
    remove_menu_page(\'edit.php\');
}
实际上,您可以使用它来自定义默认帖子类型,也可以通过任何其他方式自定义自定义帖子类型。我经常使用此方法根据上下文将自定义帖子类型重命名为新闻或博客条目之类的内容。

相关推荐

如何使用PHP代码添加一个UTM标签来动态地获取UTM中的POST slug?

我想做的事是可行的,但我不知道怎么做。尴尬时刻即将到来:我几年前确实做过这件事,但丢失了代码,无法在网上找到它是如何完成的。我想做的是在我的标题中的链接上添加一个动态UTM标记,以便UTM标记拾取访问者正在单击的页面的片段。示例:如果访问者在一篇帖子上写着slug/something-goes-here/并单击了CTA按钮,那么他访问的CTA页面应该有/second-page/?utm\\u source=这里有东西你们知道如何用PHP中的一些代码来实现这一点吗?