WPSEO_Rewrite::no_category_base
Override the category link to remove the category base.
Метод класса: WPSEO_Rewrite{}
Хуков нет.
Возвращает
Строку.
Использование
$WPSEO_Rewrite = new WPSEO_Rewrite(); $WPSEO_Rewrite->no_category_base( $link, $term, $taxonomy );
- $link(строка) (обязательный)
- Term link, overridden by the function for categories.
- $term(WP_Term) (обязательный)
- Unused, term object.
- $taxonomy(строка) (обязательный)
- Taxonomy slug.
Код WPSEO_Rewrite::no_category_base() WPSEO Rewrite::no category base Yoast 27.6
public function no_category_base( $link, $term, $taxonomy ) {
if ( WPSEO_Options::get( 'stripcategorybase' ) !== true ) {
return $link;
}
if ( $taxonomy !== 'category' ) {
return $link;
}
$category_base = get_option( 'category_base' );
if ( empty( $category_base ) ) {
$category_base = 'category';
}
/*
* Remove initial slash, if there is one (we remove the trailing slash
* in the regex replacement and don't want to end up short a slash).
*/
if ( substr( $category_base, 0, 1 ) === '/' ) {
$category_base = substr( $category_base, 1 );
}
$category_base .= '/';
return preg_replace( '`' . preg_quote( $category_base, '`' ) . '`u', '', $link, 1 );
}