如何筛选固定链接结构中的类别

时间:2012-08-04 作者:sheena

使用/%category%/ %postname%/ 对于permalink,我得到一个URL字符串,其中包含特定帖子所包含的所有类别。我想在url中的类别被过滤下来。给你,

我有一个名人八卦博客,我有这样的分类结构:

www.myblog.com/category_1 › sub category_1 ›sub category_2 > Post_name
ex: www.myblog.com/pics/a to c/Aniana Lema /myPostName
我想跳过"subcategory_1,2" 在URL中,(仅显示父类别)例如:www.myblog.com/pics/myPostName

有可能吗?

1 个回复
SO网友:pcarvalho

strangely familiar to this, 但它是不同的,所以这里有一个修改过的版本

add_filter( \'post_link\', \'remove_parent_cats_from_link\', 10, 3 );
function remove_parent_cats_from_link( $permalink, $post, $leavename ){

    $cats = get_the_category( $post->ID );
    if ( $cats ) {
        // Make sure we use the same start cat as the permalink generator
        // what happens now actually is the opposite,
        // we end up using the latest category that has a parent
        usort( $cats, \'_usort_terms_by_ID\' ); // order by ID

        foreach( $cats as $cat ) {

          if ( $cat->parent ) {
              // If there are parent categories, collect them and pick the top most
              $parentcats = explode(" ",get_category_parents( $cat, false, \' \', true ));
              $topcat = $parentcats[0];

          } else {
              $topcat = $cat->slug;
          }
        }
    }
    $permalink = home_url()."/".$topcat."/".$post->post_name;
    return $permalink;
}

结束

相关推荐

将筛选器添加到wp_Dropdown_Pages()或wp_Dropdown_Categories()-没有选择容器?

我在和wp_dropdown_pages() 和wp_dropdown_categories() 并且两者都始终输出<select>-盒子及其<option>s作为项目。有没有可能在这个函数中添加一个过滤器/挂钩,这样我就可以得到<option>s而不被包裹在<select>我这样问的原因是我想将页面和类别合并到一个下拉列表中。我找不到参数来设置这个!有什么想法吗?

如何筛选固定链接结构中的类别 - 小码农CODE - 行之有效找到问题解决它

如何筛选固定链接结构中的类别

时间:2012-08-04 作者:sheena

使用/%category%/ %postname%/ 对于permalink,我得到一个URL字符串,其中包含特定帖子所包含的所有类别。我想在url中的类别被过滤下来。给你,

我有一个名人八卦博客,我有这样的分类结构:

www.myblog.com/category_1 › sub category_1 ›sub category_2 > Post_name
ex: www.myblog.com/pics/a to c/Aniana Lema /myPostName
我想跳过"subcategory_1,2" 在URL中,(仅显示父类别)例如:www.myblog.com/pics/myPostName

有可能吗?

1 个回复
SO网友:pcarvalho

strangely familiar to this, 但它是不同的,所以这里有一个修改过的版本

add_filter( \'post_link\', \'remove_parent_cats_from_link\', 10, 3 );
function remove_parent_cats_from_link( $permalink, $post, $leavename ){

    $cats = get_the_category( $post->ID );
    if ( $cats ) {
        // Make sure we use the same start cat as the permalink generator
        // what happens now actually is the opposite,
        // we end up using the latest category that has a parent
        usort( $cats, \'_usort_terms_by_ID\' ); // order by ID

        foreach( $cats as $cat ) {

          if ( $cat->parent ) {
              // If there are parent categories, collect them and pick the top most
              $parentcats = explode(" ",get_category_parents( $cat, false, \' \', true ));
              $topcat = $parentcats[0];

          } else {
              $topcat = $cat->slug;
          }
        }
    }
    $permalink = home_url()."/".$topcat."/".$post->post_name;
    return $permalink;
}

相关推荐

Get assigned post categories

我创建了一个名为“Crew”的自定义帖子类型,如下所示:function crew_custom_post_type() { $labels = array( \'name\' => _x( \'Pages\', \'Post Type General Name\', \'project\' ), \'singular_name\' => _x( \'Page\', \'Post Type