以编程方式限制WordPress使用某些URL或子目录

时间:2019-01-22 作者:Alexnl

有没有途径functions.php 或插件或。htaccess是否以编程方式阻止WordPress使用某些URL或子目录?

例如:

website.com/games/*  
website.com/eat

1 个回复
SO网友:Krzysiek Dróżdż

WP中最简单的方法是使用wp_unique_post_slug

需要6个参数:

apply_filters( \'wp_unique_post_slug\', string $slug, int $post_ID, string $post_status, string $post_type, int $post_parent, string $original_slug )
因此,您可以针对给定的URL修改slug,这会发生冲突。

假设您想阻止WP使用website.com/eat 住址您只需禁用eat 作为缓动值。

add_filter( \'wp_unique_post_slug\', \'prefix_wp_unique_post_slug\', 2, 6 );
function prefix_wp_unique_post_slug( $slug, $post_ID, $post_status, $post_type, $post_parent, $original_slug ) {
    if ( \'eat\' == $slug ) {
        // change it to something else
        return $slug .\'-2\';
    }
    return $slug;
}

相关推荐

Force pretty permalinks?

我正在构建一个插件,该插件将用于单个站点,并依赖于add_rewrite_rule 要工作,需要打开永久链接。打开它们并不困难,因为它只是一个站点,但我担心其中一个管理员可能会在不知道自己在做什么的情况下关闭它,并破坏该站点。如何以编程方式强制保持漂亮的永久链接?