如果你的文章或者文章类型添加了自定义分类,下面的代码可以在 WordPress 后台文章列表添加自定义分类下拉筛选框,快速通过自定义分类筛选文章。
方法一
- add_action('restrict_manage_posts', function($post_type){
- if($taxonomies = get_object_taxonomies($post_type, 'objects')){
- foreach($taxonomies as $taxonomy) {
- if(empty($taxonomy->hierarchical) || empty($taxonomy->show_admin_column)){
- continue;
- }
- if($taxonomy->name == 'category'){
- $taxonomy_key = 'cat';
- }else{
- $taxonomy_key = $taxonomy->name.'_id';
- }
- $selected = 0;
- if(!empty($_REQUEST[$taxonomy_key])){
- $selected = $_REQUEST[$taxonomy_key];
- }elseif(!empty($_REQUEST['taxonomy']) && ($_REQUEST['taxonomy'] == $taxonomy->name) && !empty($_REQUEST['term'])){
- if($term = get_term_by('slug', $_REQUEST['term'], $taxonomy->name)){
- $selected = $term->term_id;
- }
- }elseif(!empty($taxonomy->query_var) && !empty($_REQUEST[$taxonomy->query_var])){
- if($term = get_term_by('slug', $_REQUEST[$taxonomy->query_var], $taxonomy->name)){
- $selected = $term->term_id;
- }
- }
- wp_dropdown_categories(array(
- 'taxonomy' => $taxonomy->name,
- 'show_option_all' => $taxonomy->labels->all_items,
- 'show_option_none' => '没有设置',
- 'hide_if_empty' => true,
- 'hide_empty' => 0,
- 'hierarchical' => 1,
- 'show_count' => 0,
- 'orderby' => 'name',
- 'name' => $taxonomy_key,
- 'selected' => $selected
- ));
- }
- }
- });
方法二
如果你的文章或者文章类型添加了自定义分类,下面的代码可以在 WordPress 后台文章列表添加自定义分类下拉筛选框,快速通过自定义分类筛选文章。确实和上面的方法基本一样,有些客户说上面的筛选显示分类了,但是没作用。可以尝试下面的代码,记得输入自己的分类法名称:
- add_action( 'restrict_manage_posts', 'erphp_task_filter_by_taxonomies' , 10, 2);
- function erphp_task_filter_by_taxonomies( $post_type, $which ) {
- if ( 'task' !== $post_type )
- return;
- $taxonomies = array( 'tasks' );//这里可以加多个自定义分类法
- foreach ( $taxonomies as $taxonomy_slug ) {
- $taxonomy_obj = get_taxonomy( $taxonomy_slug );
- $taxonomy_name = $taxonomy_obj->labels->name;
- $terms = get_terms( $taxonomy_slug );
- echo "<select name='{$taxonomy_slug}' id='{$taxonomy_slug}' class='postform'>";
- echo '<option value="">' . sprintf( esc_HTML__( '%s', 'text_domain' ), $taxonomy_name ) . '</option>';
- foreach ( $terms as $term ) {
- printf(
- '<option value="%1$s" %2$s>%3$s (%4$s)</option>',
- $term->slug,
- ( ( isset( $_GET[$taxonomy_slug] ) && ( $_GET[$taxonomy_slug] == $term->slug ) ) ? ' selected="selected"' : '' ),
- $term->name,
- $term->count
- );
- }
- echo '</select>';
- }
- }
文章標題:WordPress 添加后台文章列表自定义分类筛选
文章連結:https://www.wuyanshuo.cn/841.html
更新時間:2022年5月27日
1、本站所有資源均不添加推廣檔案或浮水印,壓縮包內若有廣告檔案和浮水印請勿輕易相信。
2、本站資源均為兩層壓縮,第一層7z(尾碼若為wys,請自行修改為7z)有解壓密碼; 第二層zip或cbz,無解壓密碼,可直接使用漫畫類軟件程式查看; 詳情可參攷解壓教程。
3、本站大部分內容均收集於網絡! 若內容侵犯到您的權益,請發送郵件至:admin#wysacg.top我們將第一時間處理! 資源所需價格並非資源售賣價格,是收集、整理、編輯詳情以及本站運營的適當補貼,並且本站不提供任何免費技術支援。 所有資源僅限於參攷和學習,版權歸原作者所有!