要在WordPress后台文章列表中添加自定义分类筛选,您可以使用WordPress提供的一些内置功能和自定义代码。以下是一种方法:
-
添加自定义分类法(Custom Taxonomy):
首先,您需要创建一个自定义分类法,以便将其应用于文章类型。假设您想要为”文章”(post)添加一个自定义分类,可以在您的主题或插件中添加以下代码:function custom_taxonomy() { $labels = array( 'name' => '自定义分类', 'singular_name' => '自定义分类', 'menu_name' => '自定义分类', ); $args = array( 'labels' => $labels, 'hierarchical' => true, 'show_ui' => true, 'show_admin_column' => true, 'query_var' => true, ); register_taxonomy('custom_category', array('post'), $args); } add_action('init', 'custom_taxonomy');这将在文章类型上创建一个名为”自定义分类”的自定义分类法。
-
添加筛选表单到文章列表页面:
接下来,您需要在文章列表页面添加一个筛选表单。您可以使用restrict_manage_posts动作来实现这一点。将以下代码添加到您的主题的functions.php文件中:function custom_taxonomy_filter() { global $typenow; if ($typenow == 'post') { // 仅在文章类型页面显示 $taxonomy = 'custom_category'; $terms = get_terms($taxonomy); if ($terms) { echo ""; echo "全部自定义分类"; foreach ($terms as $term) { $selected = isset($_GET[$taxonomy]) && $_GET[$taxonomy] == $term>slug ? 'selected' : ''; echo "$term>name"; } echo ""; } } } add_action('restrict_manage_posts', 'custom_taxonomy_filter'); -
处理筛选操作:
最后,您需要修改WordPress查询以根据筛选条件过滤文章。添加以下代码到functions.php文件中:function custom_taxonomy_filter_request($query) { global $pagenow; $taxonomy = 'custom_category'; $q_vars = &$query>query_vars; if (isset($_GET[$taxonomy]) && $pagenow == 'edit.php' && $q_vars['post_type'] == 'post') { $term = sanitize_text_field($_GET[$taxonomy]); $q_vars[$taxonomy] = $term; } } add_filter('parse_query', 'custom_taxonomy_filter_request');
现在,当您访问文章列表页面时,您应该会看到一个名为”自定义分类”的筛选下拉菜单,您可以使用它来筛选文章列表中的文章。这将根据所选的自定义分类来显示相应的文章。请确保根据您的需求进行适当的自定义和样式化。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END








