Wordpress는 slug와 함께 분류법 이름을 가져옵니다.
분류법 slug만을 가진 분류법 아이디나 이름을 어떻게 얻을 수 있나요?
제 생각엔 제가 찾고 있는 것은get_term_by()
분류학을 위해서요.
편집 : WooCommerce 제품 속성의 세금 ID를 가져오려는 것을 지정해야 합니다.
감사해요.
WordPress는 slug에서 분류 정보를 가져오는 기능을 제공합니다.
$taxonomy_details = get_taxonomy( $slug );
이렇게 하면 분류 세부 정보가 개체로 반환되며, 여기에는 분류에 대한 다양한 레이블이 포함됩니다.예를 들어, 다음은 표준 카테고리 분류법을 호출할 때 반환되는 개체입니다.get_taxonomy( 'category' );
stdClass Object
(
[labels] => stdClass Object
(
[name] => Categories
[singular_name] => Category
[search_items] => Search Categories
[popular_items] =>
[all_items] => All Categories
[parent_item] => Parent Category
[parent_item_colon] => Parent Category:
[edit_item] => Edit Category
[view_item] => View Category
[update_item] => Update Category
[add_new_item] => Add New Category
[new_item_name] => New Category Name
[separate_items_with_commas] =>
[add_or_remove_items] =>
[choose_from_most_used] =>
[not_found] => No categories found.
[menu_name] => Categories
[name_admin_bar] => category
)
[description] =>
[public] => 1
[hierarchical] => 1
[show_ui] => 1
[show_in_menu] => 1
[show_in_nav_menus] => 1
[show_tagcloud] => 1
[show_in_quick_edit] => 1
[show_admin_column] => 1
[meta_box_cb] => post_categories_meta_box
[rewrite] => Array
(
[hierarchical] => 1
[slug] => category
[with_front] => 1
[ep_mask] => 512
)
[query_var] => category_name
[update_count_callback] =>
[_builtin] => 1
[cap] => stdClass Object
(
[manage_terms] => manage_categories
[edit_terms] => manage_categories
[delete_terms] => manage_categories
[assign_terms] => edit_posts
)
[name] => category
[object_type] => Array
(
[0] => post
)
[label] => Categories
)
출처 : https://codex.wordpress.org/Function_Reference/get_taxonomy
그 질문에 대한 답변은 받아들여진 답변이 아니기 때문에, 질문의 내용이 매우 오래된 질문이지만, 여기에 답변을 드립니다.
세 번째(필수) 인수get_term_by()
는 분류법 자체의 이름이므로 이 함수를 사용할 수 없습니다.
get_taxonomies()
를 사용할 수도 없습니다.그러면 전체 리라이트 어레이를 일치시켜야 하기 때문에 액세스 할 수 없습니다.
그래서 제가 찾은 유일한 방법은 개인 어레이를 사용하는 것이었습니다.$wp_taxonomies
:
function get_tax_name_from_slug($slug){
foreach ($wp_taxonomies as $key => $value) {
if ($value->rewrite['slug'] === $slug){
return $key;
}
}
}
Wordpress가 내부 데이터 구조에 액세스하지 않고 이 작업을 수행할 수 있는 방법을 제공했으면 합니다.
$args = array(
'post_type' => 'awards',
'post_status' => 'publish',
'posts_per_page' => 4,
'orderby' => 'ID',
'order' => 'DESC',
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'awards_categories',
'field' => 'slug',
'terms' => $award_solution
),
array(
'taxonomy' => 'year',
'field' => 'slug',
'terms' => $yearvalue
),
)
);
wp select 쿼리를 사용하여 이를 가져오는 방법
<?php
$term = get_term_by('slug', $slug, 'category');
$name = $term->name;
$id = $term->term_id;
?>
언급URL : https://stackoverflow.com/questions/12548353/wordpress-get-taxonomy-name-with-slug
'programing' 카테고리의 다른 글
CORB(Cross-Origin Read Blocking) (0) | 2023.02.24 |
---|---|
환경 변수로 JSON 내보내기 (0) | 2023.02.24 |
봄에는 index.html의 모든 루트를 캐치합니다. (0) | 2023.02.24 |
부정한 C# 식별자의 원인이 되는 JSON 문자열을 해석하려면 어떻게 해야 합니까? (0) | 2023.02.24 |
어레이가 php에서 비어 있으면 json_encode 함수가 중괄호 {}을(를) 반환하지 않음 (0) | 2023.02.24 |