programing

현재 카테고리를 가져오는 방법

oldcodes 2023. 4. 4. 22:15
반응형

현재 카테고리를 가져오는 방법

접속하고 있다archive-products.phpwoocommerce에서 내 제품을 표시합니다(woocommerce의 일반 프로세스처럼).

아카이브 제품 페이지에 표시됩니다.php 제 가게의 모든 제품 카테고리가 포함된 사이드바를 추가했습니다(제품의 유무에 관계없이).이 경우 다음 코드를 사용했습니다.

$taxonomy = 'product_cat';
$orderby = 'ID';
$show_count = 0;      // 1 for yes, 0 for no
$pad_counts = 0;      // 1 for yes, 0 for no
$hierarchical = 1;      // 1 for yes, 0 for no
$title = '<h2>' . _x('Our Products', 'mfarma') . '</h2>';
$hide_empty = 0;

$args = array(
    'taxonomy' => $taxonomy,
    'orderby' => $orderby,
    'order' => 'ASC',
    'show_count' => $show_count,
    'pad_counts' => $pad_counts,
    'hierarchical' => $hierarchical,
    'title_li' => $title,
    'hide_empty' => $hide_empty
);
?>

<ul>
    <?php wp_list_categories($args); ?>
</ul>

페이지 왼쪽에는 위의 사이드바가 있고 오른쪽에는 제품이 있습니다.각 제품 카테고리에 사용자가 카테고리를 클릭했을 때 보여주고 싶은 HTML 형식의 작은 설명을 추가했습니다.woocommerce에 따르면 특정 카테고리로 이동할 때(내 경우)http://localhost/product-category/mycategory)는 여전히 archive-products.display입니다.

링크에서 term_id를 클릭하려고 하는데 루프(및 글로벌 $post)에 의해 필요한 카테고리가 아닌 목록의 첫 번째 제품이 나타납니다.따라서 카테고리에 0개의 제품이 있는 경우에는term IDarchive-products.php에서 이 용어 ID를 얻으려면 어떻게 해야 합니까?

다른 것에 대한 답을 찾았지만 내 질문에도 해당된다.

add_action('woocommerce_archive_description', 'woocommerce_category_description', 2);

function woocommerce_category_description() {
    if (is_product_category()) {
        global $wp_query;
        $cat = $wp_query->get_queried_object();
        echo "CAT IS:".print_r($cat,true); // the category needed.
    }
}

보다 심플하게 할 수 있습니다.
현재 카테고리 인쇄:

single_cat_title(); // this prints your current category

현재 범주 문자열 가져오기:

single_cat_title('', false); // this returns your current category
echo single_cat_title('', false); // for print current category

언급URL : https://stackoverflow.com/questions/24138701/woocommerce-how-to-get-current-category

반응형