Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 用于自定义分类的Permalink Wordpress_Php_Wordpress_Permalinks - Fatal编程技术网

Php 用于自定义分类的Permalink Wordpress

Php 用于自定义分类的Permalink Wordpress,php,wordpress,permalinks,Php,Wordpress,Permalinks,目前,我有一个WordPress网站,它有页面、博客和定制的文章类型,名为“案例研究” 我的permalink设置是一个自定义结构,它是:/blog/%postname%/这样我就可以在所有博客文章的URL中显示“blog” 我的自定义帖子类型的URL结构是,在下面的设置中可以正常工作 "rewrite" => array('slug' => 'case-studies', 'with_front' => FALSE), 我有一个自定义的分类法来对我的案例研究按部门进

目前,我有一个WordPress网站,它有页面、博客和定制的文章类型,名为“案例研究”

我的permalink设置是一个自定义结构,它是:/blog/%postname%/这样我就可以在所有博客文章的URL中显示“blog”

我的自定义帖子类型的URL结构是,在下面的设置中可以正常工作

    "rewrite" => array('slug' => 'case-studies', 'with_front' => FALSE),
我有一个自定义的分类法来对我的案例研究按部门进行分类,因此我创建了一个名为部门的分类法,我希望它的URL是“但当前它显示为”“这是不正确的”

为了从部门URL中删除word博客,我将重写代码改为如下所示

    "rewrite" => array( 'slug' => 'case-studies', 'with_front' => false),
但问题是,通过这样做,我无法正确地进入部门分类页面,而是显示一些随机页面或我网站上的帖子,但带有“blog”基的旧URL工作正常,如果我使“with_front”为真,则会显示关于它的案例研究列表;但这不是我想要的

有什么帮助吗?我怎样才能从URL中删除博客并使其正常工作

问候
Manoj Soni

在自定义帖子类型中,您需要添加重写段塞,如
'rewrite'=>数组('slug'=>'%division%','with_front'=>false),

然后需要在函数文件中添加以下代码

function d_reset_permlinks( $post_link, $post ){
    if ( is_object( $post ) && $post->post_type == 'case-studies' ){
    $terms = wp_get_object_terms( $post->ID, 'division' );
    if( $terms ){
        return str_replace( '%division%' , $terms[0]->slug , $post_link );
    }
   }
   return $post_link;
}
 add_filter( 'post_type_link', 'd_reset_permlinks', 1, 2 );

然后用帖子名重置永久链接,然后检查。

博客页面是案例研究的父页面吗?没有博客是网站的单个博客,独立于案例研究参考问题是,现在我得到了分类url,尽管它显示了应该显示的帖子;如果你没有进一步帮助进行案例研究/bimOk然后编辑slug并使用“blog/%customtaxonomy%”进行更改,