向固定链接添加或创建自定义结构标签

时间:2018-04-18 作者:RaffyM

我需要一个permalink,它与bitly一样的函数。例如:

mydomain.here/rAnD0mUrL
我使用名为“WP哈希ID”的插件(https://wordpress.org/plugins/wp-hashed-ids) 在此之前,将帖子ID转换为哈希并创建随机字符,但该插件早已被放弃,在当前版本的wordpress中不再工作。

我正在考虑创建自定义永久链接标记,如%post\\u id%。这可能吗?例如,我想创建%short\\u url%,将我的帖子url转换为随机短字符。

有什么帮助吗?

1 个回复
SO网友:Oleg Butuzov

下面是我的一张幻灯片中的一个随机示例。注意:标记假定位于类型permastruct中。random 它本身需要添加到公共查询变量中,但让这成为一个家庭作业,并以某种方式进行分析。

add_rewrite_tag( \'%random%\', \'(.+)\', \'random=\' );

add_filter( \'available_permalink_structure_tags\', function ( array $tags ) : array {
    $tags[\'random\'] = \'some random thing\';
    return $tags;
});

// or \'post_link\' , or any other link filter 
// note, you can have more arguments passed to callback, 
// but this depends on link.
add_filter( \'post_type_link\', function( string $permalink ) : string {
    if (false === strpos( $permalink, \'%random%\' ) ) {
        return $permalink;
    }
    return str_replace( \'%random%\', rand(1000, 4000), $permalink);
});

结束

相关推荐

Let me choose permalinks

我需要选择一个叫做“mysite”的永久链接。com/1418”,但wordpress不断在永久链接中添加“-2”。通常这意味着我已经有了一个名为“相同”的页面,它位于垃圾箱或其他地方。但这里的情况似乎并非如此。我尝试在设置中重置永久链接,这也没有帮助。我如何使用数字作为页面名称permalink,而不用wordpress在permalink中添加“-2”。