Obtenha tags de produtos WooCommerce para uma variedade de produtos

Eu sou iskander

É possível obter uma lista de tags de produtos WooCommerce, mas apenas se elas estiverem associadas a uma variedade de produtos específicos?

Eu tenho uma série de ids de produtos, mas não consigo descobrir por onde começar - eu olhei muitas das funções get_tag na documentação do Wordpress Codex, mas todas parecem ser para post / páginas / tipos de post personalizados individuais apenas e não para uso em uma matriz.

Eu sou iskander

Com a ajuda do WisdmLabs, consegui juntar alguns códigos que obtêm as tags de produtos encontradas para todos os produtos dentro de uma determinada marca WooCommerce.

Eu também adicionei um pouco de funcionalidade, como remover valores de tag duplicados e adicionar um total ao lado de cada tag com o número de produtos que possuem essa tag para que a saída pareça ...

• Product Tag 1 (12)
• Product Tag 3 (4)
• Product Tag 4 (7)
• Product Tag 8 (11)

O código está abaixo para qualquer pessoa que queira usá-lo ou adaptá-lo. Estou gerando os resultados abaixo da descrição da marca usando o gancho da marca WooCommerce woocommerce_archive_description.

    function get_wc_product_brand_related_tags() {
    global $post; 

    // Access the objects in the current WooCommerce query loop
    $queried_object = get_queried_object();

    // Get the term_id and term_name values
    $term_id = $queried_object->term_id;
    $term_name = $queried_object->slug;

    // FOR TESTING ONLY - Echo the term_id and term_name values to see if they are what we're expecting
    //echo '<p>The <em>term_id</em> is <strong>' . $term_id . '</strong> and the <em>term_name</em> is <strong>' . $term_name . '</strong>.</p>';

    // Create our products array for use later
    $products_array = array();

    // Query the posts using the product custom post type and product_brand custom taxonomy terms
    $brand_post_args = array(
        'post_type' => 'product',
        'posts_per_page' => -1,
        'product_brand' => $term_name
    );

    // Run our WP_Query with the args above
    $brand_post_query = new WP_Query($brand_post_args);

    // If any products (posts using the product custom post type) are found…
    if( $brand_post_query->have_posts() ) {
        while ($brand_post_query->have_posts()) : $brand_post_query->the_post();
            // FOR TESTING ONLY - shows a lot more information including product id, name and tags
            $products_array[] = get_the_id() . ' - ' . get_the_title() . ' - ' . get_the_term_list($brand_post_query->ID, 'product_tag');

            // Populate the array with the tags found for the product
            $products_tags_array[] = get_the_term_list($brand_post_query->ID, 'product_tag');
        endwhile;
    }

    // Count the duplicate values found inside our array
    $count_tag_totals = array_count_values($products_tags_array);

    // FOR TESTING ONLY - Used below to show the product information such as id, name etc
    $show_product_values = array_unique($products_tags_array);

    // Show the tags found for all of the products for the current brand, along with the number found for each tag
    echo '<ul>';    
    foreach($count_tag_totals as $key=>$value) {
        echo '<li>' . $key . ' ('. $value . ')</li>';   
    }
    echo '</ul>';

    // FOR TESTING ONLY - Displays unique tag name(s) along with a total of the products that have that tag
    //echo '<pre><h3>Unique product tag(s) and associated totals for this brand&hellip; </h3>',print_r($count_tag_totals,1),'</pre>';   

    // FOR TESTING ONLY - Displays a list of all products (id and name) along with their tags
    //echo '<pre><h3>The products details for this brand page are&hellip; </h3>',print_r($products_array,1),'</pre>';       

    // Reset the WP_Query for use elsewhere
    wp_reset_query();

}

add_action('woocommerce_archive_description', 'get_wc_product_brand_related_tags', 15);

Este artigo é coletado da Internet.

Se houver alguma infração, entre em [email protected] Delete.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

Obtenha tags de produtos WooCommerce para uma variedade de produtos

Como alterar a classificação em uma lista de tags de produtos para produtos WooCommerce

Como contar produtos WooCommerce de uma tag específica se o carrinho contiver uma variedade de produtos

WordPress WooCommerce move tags de postagem para tags de produtos

Obtenha todos os IDs de produtos Woocommerce em uma matriz

Obtenha todas as categorias de produtos no WooCommerce

Obtenha componentes de produtos compostos do Woocommerce

Produtos em promoção para arquivos de categorias de produtos Woocommerce usando uma solicitação Get

Produtos em promoção para arquivos de categorias de produtos Woocommerce usando uma solicitação Get

Abra a consulta do carrinho para uma variedade de produtos aleatórios

Tentando filtrar uma variedade de produtos com uma variedade de filtros ao clicar

Adicionar uma lista suspensa de filtro para tags de produto na lista de produtos do administrador do woocommerce

Ocultar estoque de produtos para determinados produtos em páginas de produtos individuais no WooCommerce

Obtenha a contagem de downloads de produtos para download para exibir no Woocommerce

Como definir a categoria para woocommerce de produtos

Desativar cupons para produtos de assinatura no WooCommerce

Obtenha uma lista de produtos que não possuem uma taxonomia específica no WooCommerce

Obtenha uma gama personalizada das categorias de produtos de nível superior no WooCommerce

Obtenha sku de reservas de produtos Woocommerce em uma WP_Query

Obtenha dados de produtos únicos WooCommerce do banco de dados com uma consulta SQL

WooCommerce: obtenha SKUs de todas as variações de produtos

Obtenha todos os produtos WooCommerce de uma categoria com metadados específicos

Obtenha nomes de produtos em uma matriz na página Woocommerce obrigado

Obtenha produtos de uma marca específica no WooCommerce usando um WP_Query

Obtenha dados de produtos derivados

Obtenha is_purchasable hook trabalhando para variações de produtos Woocommerce também

Obtenha atributos personalizados do produto para exibi-los no loop de produtos WooCommerce

Obtenha alguns dados do produto no corpo para páginas de produtos individuais do WooCommerce

Obtenha produtos distintos de uma expressão de soma de produtos mathjs / js

TOP lista

  1. 1

    R Shiny: use HTML em funções (como textInput, checkboxGroupInput)

  2. 2

    O Chromium e o Firefox exibem as cores de maneira diferente e não sei qual deles está fazendo certo

  3. 3

    Como assinar digitalmente um documento PDF com assinatura e texto visíveis usando Java

  4. 4

    R Folheto. Dados de pontos de grupo em células para resumir muitos pontos de dados

  5. 5

    Gerenciar recurso shake de Windows Aero com barra de título personalizado

  6. 6

    Como obter dados API adequados para o aplicativo angular?

  7. 7

    UITextView não está exibindo texto longo

  8. 8

    Por que meus intervalos de confiança de 95% da minha regressão multivariada estão sendo plotados como uma linha de loess?

  9. 9

    Acessando relatório de campanhas na AdMob usando a API do Adsense

  10. 10

    Usando o plug-in Platform.js do Google

  11. 11

    Como posso modificar esse algoritmo de linha de visada para aceitar raios que passam pelos cantos?

  12. 12

    Dependência circular de diálogo personalizado

  13. 13

    Coloque uma caixa de texto HTML em uma imagem em uma posição fixa para site para desktop e celular

  14. 14

    iOS: como adicionar sombra projetada e sombra de traço no UIView?

  15. 15

    Como usar a caixa de diálogo de seleção de nomes com VBA para enviar e-mail para mais de um destinatário?

  16. 16

    Tabela CSS: barra de rolagem para a primeira coluna e largura automática para a coluna restante

  17. 17

    How to create dynamic navigation menu select from database using Codeigniter?

  18. 18

    Converter valores de linha SQL em colunas

  19. 19

    ChartJS, várias linhas no rótulo do gráfico de barras

  20. 20

    用@StyleableRes注释的getStyledAttributes。禁止警告

  21. 21

    não é possível adicionar dependência para com.google.android.gms.tasks.OnSuccessListener

quentelabel

Arquivo