admin管理员组文章数量:1291084
Is there a smarter way to write this function? Maybe with wildcards?
add_filter( 'get_the_archive_title', function ( $title ) {
if ( is_category( 'alphabetical' ) ) {
$title = 'All Characters';
}
elseif ( is_category( 'a-alphabetical' ) ) {
$title = 'Characters Starting with A';
}
elseif ( is_category( 'b-alphabetical' ) ) {
$title = 'Characters Starting with B';
}
elseif ( is_category( 'c-alphabetical' ) ) {
$title = 'Characters Starting with C';
}
elseif ( is_category( 'd-alphabetical' ) ) {
$title = 'Characters Starting with D';
}
elseif ( is_category( 'e-alphabetical' ) ) {
$title = 'Characters Starting with E';
}
elseif ( is_category( 'f-alphabetical' ) ) {
$title = 'Characters Starting with F';
}
elseif ( is_category( 'g-alphabetical' ) ) {
$title = 'Characters Starting with G';
}
elseif ( is_category( 'h-alphabetical' ) ) {
$title = 'Characters Starting with H';
}
elseif ( is_category( 'i-alphabetical' ) ) {
$title = 'Characters Starting with I';
}
elseif ( is_category( 'j-alphabetical' ) ) {
$title = 'Characters Starting with J';
}
elseif ( is_category( 'k-alphabetical' ) ) {
$title = 'Characters Starting with K';
}
elseif ( is_category( 'l-alphabetical' ) ) {
$title = 'Characters Starting with L';
}
elseif ( is_category( 'm-alphabetical' ) ) {
$title = 'Characters Starting with M';
}
elseif ( is_category( 'n-alphabetical' ) ) {
$title = 'Characters Starting with N';
}
elseif ( is_category( 'o-alphabetical' ) ) {
$title = 'Characters Starting with O';
}
elseif ( is_category( 'p-alphabetical' ) ) {
$title = 'Characters Starting with P';
}
elseif ( is_category( 'q-alphabetical' ) ) {
$title = 'Characters Starting with Q';
}
elseif ( is_category( 'r-alphabetical' ) ) {
$title = 'Characters Starting with R';
}
elseif ( is_category( 's-alphabetical' ) ) {
$title = 'Characters Starting with S';
}
elseif ( is_category( 't-alphabetical' ) ) {
$title = 'Characters Starting with T';
}
elseif ( is_category( 'u-alphabetical' ) ) {
$title = 'Characters Starting with U';
}
elseif ( is_category( 'v-alphabetical' ) ) {
$title = 'Characters Starting with V';
}
elseif ( is_category( 'w-alphabetical' ) ) {
$title = 'Characters Starting with W';
}
elseif ( is_category( 'x-alphabetical' ) ) {
$title = 'Characters Starting with X';
}
elseif ( is_category( 'y-alphabetical' ) ) {
$title = 'Characters Starting with Y';
}
elseif ( is_category( 'z-alphabetical' ) ) {
$title = 'Characters Starting with Z';
}
return $title;
});
Is there a smarter way to write this function? Maybe with wildcards?
add_filter( 'get_the_archive_title', function ( $title ) {
if ( is_category( 'alphabetical' ) ) {
$title = 'All Characters';
}
elseif ( is_category( 'a-alphabetical' ) ) {
$title = 'Characters Starting with A';
}
elseif ( is_category( 'b-alphabetical' ) ) {
$title = 'Characters Starting with B';
}
elseif ( is_category( 'c-alphabetical' ) ) {
$title = 'Characters Starting with C';
}
elseif ( is_category( 'd-alphabetical' ) ) {
$title = 'Characters Starting with D';
}
elseif ( is_category( 'e-alphabetical' ) ) {
$title = 'Characters Starting with E';
}
elseif ( is_category( 'f-alphabetical' ) ) {
$title = 'Characters Starting with F';
}
elseif ( is_category( 'g-alphabetical' ) ) {
$title = 'Characters Starting with G';
}
elseif ( is_category( 'h-alphabetical' ) ) {
$title = 'Characters Starting with H';
}
elseif ( is_category( 'i-alphabetical' ) ) {
$title = 'Characters Starting with I';
}
elseif ( is_category( 'j-alphabetical' ) ) {
$title = 'Characters Starting with J';
}
elseif ( is_category( 'k-alphabetical' ) ) {
$title = 'Characters Starting with K';
}
elseif ( is_category( 'l-alphabetical' ) ) {
$title = 'Characters Starting with L';
}
elseif ( is_category( 'm-alphabetical' ) ) {
$title = 'Characters Starting with M';
}
elseif ( is_category( 'n-alphabetical' ) ) {
$title = 'Characters Starting with N';
}
elseif ( is_category( 'o-alphabetical' ) ) {
$title = 'Characters Starting with O';
}
elseif ( is_category( 'p-alphabetical' ) ) {
$title = 'Characters Starting with P';
}
elseif ( is_category( 'q-alphabetical' ) ) {
$title = 'Characters Starting with Q';
}
elseif ( is_category( 'r-alphabetical' ) ) {
$title = 'Characters Starting with R';
}
elseif ( is_category( 's-alphabetical' ) ) {
$title = 'Characters Starting with S';
}
elseif ( is_category( 't-alphabetical' ) ) {
$title = 'Characters Starting with T';
}
elseif ( is_category( 'u-alphabetical' ) ) {
$title = 'Characters Starting with U';
}
elseif ( is_category( 'v-alphabetical' ) ) {
$title = 'Characters Starting with V';
}
elseif ( is_category( 'w-alphabetical' ) ) {
$title = 'Characters Starting with W';
}
elseif ( is_category( 'x-alphabetical' ) ) {
$title = 'Characters Starting with X';
}
elseif ( is_category( 'y-alphabetical' ) ) {
$title = 'Characters Starting with Y';
}
elseif ( is_category( 'z-alphabetical' ) ) {
$title = 'Characters Starting with Z';
}
return $title;
});
Share
Improve this question
asked Jun 2, 2021 at 23:05
markwmarkw
174 bronze badges
1 Answer
Reset to default 0So I wonder why don't you just set the category title via the admin page, e.g. for the one having the slug alphabetical
, you could set All Characters
as a static title for the category?
That way, you wouldn't need to hook on get_the_archive_title
..
But anyway, here is one way of how can you reduce those (26) elseif
into just one: (using regular expression)
add_filter( 'get_the_archive_title', function ( $title ) {
if ( is_category( 'alphabetical' ) ) {
$title = 'All Characters';
// If the slug starts with <letter>-alphabetical, we set the title to
// "Characters Starting with <the LETTER in uppercase>".
} elseif ( is_category() && preg_match( '/^([a-z])-alphabetical$/', get_queried_object()->slug, $m ) ) {
$title = 'Characters Starting with ' . strtoupper( $m[1] );
}
return $title;
} );
So in the above code, I used preg_match()
, and also get_queried_object()
which returns the term object/data of the current category on a category archive page (e.g. one at example/category/alphabetical/
).
本文标签: categoriesChange category display name function
版权声明:本文标题:categories - Change category display name function 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1741524644a2383393.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论