仅为子主题重写POST类型插件

时间:2012-09-06 作者:moraleida

我在multisite,一些博客出于维护原因共享相同的父主题。我所有的CPT都来自那个父主题,但我真的很喜欢,对于其中一个博客,它有一个URL掩码。

我发现this answer 更改标签非常有用,但我也尝试过这样做,并为$wp_post_types[$post_type]->rewrite[\'slug\'] 它失败了,导致整个重写数组为空。

我也试过了。H访问RewriteRule ^/newslug$ /oldslug [L] 但没有成功。

有没有干净的方法可以做到这一点?

1 个回复
SO网友:fuxia

使slug translatable 注册自定义帖子类型时:

register_post_type( 
    \'post_type_name\', 
    array (
        \'rewrite\' => array (
            \'slug\' => _x( \'post_type_name\', \'URL slug\', \'your_text_domain\' )
        )
    )
);
然后为要更改slug的站点创建一个小插件:

add_filter( \'gettext_with_context\', \'change_my_slug\', 10, 4 );

function change_my_slug( $translation, $text, $context, $domain )
{
    if ( \'URL slug\' !== $context or \'post_type_name\' !== $text or \'your_text_domain\' !== $domain )
        return $translation;

    return \'changed-slug\';
}

结束

相关推荐

直接在MySQL DB中更改Author slug(USER_NICENAME字段)是个好主意吗?

在搜索如何更改author slug时,我找到了两种方法:更改user_nicename 在WordPress站点的MySQL数据库中,将字段设置为您想要的slug。Changing the Author Slug from Username to Nickname</(2)是毫无疑问的,因为我希望slug是自定义的,而不是昵称/昵称。至于(1),我想知道这是否可以--更改user_nicename 用户数据库中的字段?