Post with Custom Permalinks

时间:2015-04-16 作者:user3492770

我的永久链接设置如下:

http://myblog.com/%category%/%postname%/

一切正常。

但我正在寻找一种方法,只为一些帖子(10-11篇帖子)设置如下永久链接。

http://myblog.com/%postname%/

我之所以要这样做,是因为我正在合并两个WordPress网站,我不想失去另一个网站的帖子,这些帖子已经以旧的permalink结构发布在Facebook等网站上。

1 个回复
最合适的回答,由SO网友:websupporter 整理而成

您可以使用重写API。由于您有一组固定的帖子,因此可以执行以下操作:

 add_action( \'init\', \'rewrite_old_slugs\' );
 function rewrite_old_slugs(){
    $post_slugs = array(
        \'post-1\' => 1,
        \'post-2\' => 2 
    );

    foreach( $post_slugs as $slug => $new_id )
        add_rewrite_rule( $slug . \'?$\', \'index.php?p=\' . $new_id, \'top\' );
 }
我创建了一个post\\u slug数组,其中数组键是旧slug,数组值是post id。

如果这样做,则必须转到“设置”>“永久链接”并单击“更新”按钮,以便规则处于活动状态。

此解决方案适用于帖子。如果页面需要它,则需要将URL重写为

index.php?page_id=

结束

相关推荐

Custom permalinks structure

我希望有这样的结构:www.mysite.com/2013 (必须显示2013年的所有职位)www.mysite.com/my-category/2013 (必须显示2013年和“我的类别”类别的所有帖子)www.mysite.com/my-category/my-tag/ (必须显示所有类别为“我的类别”和标记为“我的标记”的帖子)www.mysite.com/my-category/ (必须显示“我的类别”类别的所有帖子)www.mysite.com/my-