Custom Post Type UI

使用Custom Post Type UI后去除url中的分类别名前缀

Custom Post Type UI插件是一个添加文章类型的插件,但在使用过程中有文章类型别名和分类目录别名,虽然插件中有去除的功能设置,但在目前的版本是无效的,在做优化的时候需要去除这些。下面讲下怎么去除这2类别名前缀。 一、文章类型前缀去除 此文章类型前缀在添加/编辑文章类型处添加,在分类目录名前显示,去除方法:使用Remove CPT base插件,在设置中勾选添加的文章类型即可。 二、去除文章详情地址前的分类别名前缀 此分类别名前缀在添加/编辑分类处添加,在分类详情页url所属分类前显示。 去除方法1:仅一个分类 add_filter(‘request’, ‘rudr_change_term_request’, 1, 1 ); function rudr_change_term_request($query){ $tax_name = ‘product_cat’; // 在此处指定您的分类名称,也可以是“ category”或“ post_tag” // 要求子类的条件有所不同,我们应该进行额外的检查 if( $query[‘attachment’] ) : $include_children = true; $name = $query[‘attachment’]; else: $include_children = false; $name = $query[‘name’]; endif; $term = get_term_by(‘slug’, $name, $tax_name); // 获取当前别名以确保它存在 if (isset($name) && $term && !is_wp_error($term)): // 在此检查 if( $include_children ) { unset($query[‘attachment’]); $parent = $term->parent; while( $parent ) { $parent_term = get_term( $parent, $tax_name); $name = $parent_term->slug . ‘/’ . $name; $parent = $parent_term->parent; } } else { unset($query[‘name’]); } switch( $tax_name ): case ‘category’:{ $query[‘category_name’] = $name; // 分类 break; } case ‘post_tag’:{ $query[‘tag’] = $name; // 标签 break; } default:{ $query[$tax_name] = $name; // 其它 break; } endswitch; endif; return $query; } add_filter( ‘term_link’, ‘rudr_term_permalink’, 10, 3 ); function rudr_term_permalink( $url, $term, $taxonomy ){ $taxonomy_name = ‘product_cat’; // 您的分类名称 $taxonomy_slug = ‘product_cat’; // 别名与分类名称可以不同(例如’post_tag’和’tag’) // 如果URL中没有分类别名,则退出函数 if ( strpos($url, $taxonomy_slug) === FALSE || $taxonomy != $taxonomy_name ) return $url; $url = str_replace(‘/’ . $taxonomy_slug, ”, $url); return $url; } 去除方法2:同时去除多个分类 function rudr_change_term_request($query_vars){ $tax_names = array(‘aktiviteettityyppi’,’tapahtumatyyppi’,’kohdetyyppi’,’palvelutyyppi’,’palveluluokka’); // 在此处指定您的分类名称,也可以是“ category”或“ post_tag” if( isset($query_vars[‘attachment’]) ? $query_vars[‘attachment’] : null) : $include_children = true; $name = $query_vars[‘attachment’]; else: if( isset($query_vars[‘name’]) […]

查看更多