Wordpress: проблема с конечной точкой иерархических тегов - PullRequest
0 голосов
/ 26 ноября 2018

мой коллега следовал этому уроку для иерархических тегов на WordPress: https://css -tricks.com / как и зачем конвертировать wordpress-теги из плоской в ​​иерархическую

Вот раздел функций моей дочерней темы. Php

function wd_hierarchical_tags_register() {



  // Maintain the built-in rewrite functionality of WordPress tags



  global $wp_rewrite;



  $rewrite =  array(

    'hierarchical'              => false, // Maintains tag permalink structure

    'slug'                      => get_option('tag_base') ? get_option('tag_base') : 'tag',

    'with_front'                => ! get_option('tag_base') || $wp_rewrite->using_index_permalinks(),

    'ep_mask'                   => EP_TAGS,

  );



  // Redefine tag labels (or leave them the same)



  $labels = array(

    'name'                       => _x( 'Tags', 'Taxonomy General Name', 'hierarchical_tags' ),

    'singular_name'              => _x( 'Tag', 'Taxonomy Singular Name', 'hierarchical_tags' ),

    'menu_name'                  => __( 'Taxonomy', 'hierarchical_tags' ),

    'all_items'                  => __( 'All Tags', 'hierarchical_tags' ),

    'parent_item'                => __( 'Parent Tag', 'hierarchical_tags' ),

    'parent_item_colon'          => __( 'Parent Tag:', 'hierarchical_tags' ),

    'new_item_name'              => __( 'New Tag Name', 'hierarchical_tags' ),

    'add_new_item'               => __( 'Add New Tag', 'hierarchical_tags' ),

    'edit_item'                  => __( 'Edit Tag', 'hierarchical_tags' ),

    'update_item'                => __( 'Update Tag', 'hierarchical_tags' ),

    'view_item'                  => __( 'View Tag', 'hierarchical_tags' ),

    'separate_items_with_commas' => __( 'Separate tags with commas', 'hierarchical_tags' ),

    'add_or_remove_items'        => __( 'Add or remove tags', 'hierarchical_tags' ),

    'choose_from_most_used'      => __( 'Choose from the most used', 'hierarchical_tags' ),

    'popular_items'              => __( 'Popular Tags', 'hierarchical_tags' ),

    'search_items'               => __( 'Search Tags', 'hierarchical_tags' ),

    'not_found'                  => __( 'Not Found', 'hierarchical_tags' ),

  );



  // Override structure of built-in WordPress tags



  register_taxonomy( 'post_tag', 'post', array(

    'hierarchical'              => true, // Was false, now set to true

    'query_var'                 => 'tag',

    'labels'                    => $labels,

    'rewrite'                   => $rewrite,

    'public'                    => true,

    'show_ui'                   => true,

    'show_admin_column'         => true,

    '_builtin'                  => true,

  ) );



}

add_action('init', 'wd_hierarchical_tags_register');

Теперь, когда я унаследовал проект, мне нужно использовать конечную точку остальных API для тегов (www.mywpsite.com/wp-json/wp/v2/tags), но я продолжаю получать ответ "rest_no_route / status: 404", как если бы конечная точка была отключена.Кто-нибудь знает, почему?

В любом случае, спасибо за ваше время.

С наилучшими пожеланиями.

Иван

1 Ответ

0 голосов
/ 27 ноября 2018

РЕШИТЬ!Мне просто нужно было еще два параметра (' show_in_rest ' и ' rest_base ') внутри массива аргументов функции register_taxonomy :

register_taxonomy( 'post_tag', 'post', array(
'hierarchical'              => true, // Was false, now set to true
'query_var'                 => 'tag',
'labels'                    => $labels,
'rewrite'                   => $rewrite,
'public'                    => true,
'show_ui'                   => true,
'show_admin_column'         => true,
'_builtin'                  => true,
'show_in_rest'              => true,
'rest_base'                 => 'tags',

));

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...