我使用以下命令成功重命名了由父主题在子主题中注册的自定义帖子类型this method. 问题是,我的永久链接没有改变。所以当我改变的时候portfolio
到homepage
并使用permalink结构/%category%/%postname%/
我的URL看起来仍然像mysite。com公司/portfolio/页面/而不是mysite。com公司/homepage/页码/。
这是我用来更改CPT的代码:
add_action( \'wp_loaded\', \'wpse_19240_change_home_labels\', 20 );
function wpse_19240_change_home_labels()
{
global $wp_post_types;
$b = \'portfolio\';
if ( empty ( $wp_post_types[ $b ] )
or ! is_object( $wp_post_types[ $b ] )
or empty ( $wp_post_types[ $b ]->labels )
)
return;
$wp_post_types[ $b ]->labels->name = \'Sliders\';
$wp_post_types[ $b ]->labels->singular_name = \'Slider\';
$wp_post_types[ $b ]->labels->add_new_item = \'Add New Slider\';
$wp_post_types[ $b ]->labels->edit_item = \'Edit Slider\';
$wp_post_types[ $b ]->labels->new_item = \'New Slider\';
$wp_post_types[ $b ]->labels->view_item = \'View Slider\';
$wp_post_types[ $b ]->labels->search_items = \'Search Sliders\';
$wp_post_types[ $b ]->labels->not_found = \'No sliders found.\';
$wp_post_types[ $b ]->labels->not_found_in_trash = \'No sliders found in Trash.\';
$wp_post_types[ $b ]->labels->menu_name = \'Homepage Sliders\';
$wp_post_types[ $b ]->labels->all_items = \'All Sliders\';
$wp_post_types[ $b ]->labels->add_new = \'Add New Slider\';
$wp_post_types[ $b ]->labels->name_admin_bar = \'Slider\';
}
我使用以下方法成功地更改了slug:
function change_slug_of_post_type_portfolio() {
register_post_type(\'portfolio\', array(\'rewrite\' => array (\'slug\' => \'homepage\',)));
}
add_action(\'init\', \'change_slug_of_post_type_portfolio\', 20);
但现在,当我导航到系统生成的页面:mysite时,出现了404错误。com/主页/页面/
我确保只创建一个主页。php和我尝试添加flush_rewrite_rules();
按照中的建议this post 但无济于事。