删除带有分页的自定义分类插件

时间:2020-03-11 作者:Rajkumar S

我已经为我的faq站点添加了自定义分类。我想删除存档页面url中显示的默认自定义Taxoname。我试过一些代码,但它破坏了我的分页。

   function my_taxonomies_faqs() {
  $labels = array(
    \'name\'              => _x( \'FAQ Categories\', \'taxonomy general name\' ),
    \'singular_name\'     => _x( \'FAQ Category\', \'taxonomy singular name\' ),
    \'search_items\'      => __( \'Search FAQ Categories\' ),
    \'all_items\'         => __( \'All FAQ Categories\' ),
    \'parent_item\'       => __( \'Parent FAQ Category\' ),
    \'parent_item_colon\' => __( \'Parent FAQ Category:\' ),
    \'edit_item\'         => __( \'Edit FAQ Category\' ), 
    \'update_item\'       => __( \'Update FAQ Category\' ),
    \'add_new_item\'      => __( \'Add New FAQ Category\' ),
    \'new_item_name\'     => __( \'New FAQ Category\' ),
    \'menu_name\'         => __( \'FAQ Categories\' ),
  );
  $args = array(
    \'labels\' => $labels,
    \'public\' => true,
    \'hierarchical\' => true,
    \'show_in_rest\' => true,
    \'query_var\' => true,
    \'rewrite\' => array(\'slug\' => \'faq-categories\', \'hierarchical\' => true, \'with_front\'=> false),    
  ); 
  register_taxonomy( \'faq-category\', \'faq-post\', $args );
}
默认URL格式:

www.example.com/faq/custom-tax/parent-cat/ 
我想显示如下URL格式:

 - www.example.com/faq - Homepage
 - www.example.com/faq/parent-cat/ - Level 1
 - www.example.com/faq/parent-cat/page/2 
 - www.example.com/faq/parent-cat/child-cat - level 2
 - www.example.com/faq/parent-cat/child-cat/page/2
我已经尝试过这个解决方案了。但我的子类别分页显示404错误。链接-https://rudrastyh.com/wordpress/remove-taxonomy-slug-from-urls.html

有没有可能通过分页支持删除URL中的默认自定义分类法?

1 个回复
SO网友:Mehdi Soltani

创建新的自定义帖子类型或分类法后的一个常见问题是,在访问自定义帖子类型或分类法生成的新URL后,会显示404页。

在许多情况下,问题与flush_rewrite_rules(). 创建新URL后,您必须刷新重写规则,以通过WordPress重写URL。如果你不使用它,当你访问它们时,你会得到404。

因此,我们有几种解决方案:

1. Simple way:

您只需转到setting -> permalinks 节,然后(不更改任何设置)单击save changes 按钮单击保存更改,WordPress core会自动调用flush_rewrite_rules() 在其过程中。现在检查您的URL,它们正在工作。

2. Professional way:

基于WordPress中的最佳实践,最好在插件中定义自定义分类法和post类型。

所以最好的地方flush_rewrite_rules() 是插件激活的时间。

Notice: 请注意,您仅在第一次定义它时才需要它。register\\u post\\u类型的WordPress开发人员文档以及本link:

ATTENTION: This is *only* done during plugin activation hook in this example!
 You should *NEVER EVER* do this on every page load!!
你可以在我的插件样板中看到这个示例github.

Note: 如果你只想检查它,你可以在注册分类法后使用它(只需一次),然后检查URL(然后你可以删除它),但是如果你正在创建一个被很多人使用的插件,你必须在激活插件时进行。

我希望你的问题与这个简单的技巧有关,这样可以解决你的问题。

相关推荐

pagination leads to 404 page

我想弄明白为什么我的分页没有显示出来,我快发疯了。我将设置场景:我有一个页面“category.php”。在这个页面中,我为所有分类帖子设置了一个自定义查询。它们是自定义帖子类型,并显示该类别的自定义帖子。我的问题如下:我已经尝试过这个函数:the_post_pagination();$category = get_category(get_query_var(\'cat\')); if ( get_query_var(\'paged\') ) { $paged = get_query_var(