2014-10-11 2 views
0

Дорогие друзья StackOverflow, в интернет-магазине Wordpress, мы используем Woocommerce и его плагин расширения Woocommerce Brand Addon.Wordpress: выдержка только для страниц бренда Woocommerce

Я хотел бы этот код (расположенный в functions.php), которые должны применяться только к WooCommerce Марка страниц: код делает свою работу в WooCommerce Brands, но она применяется и в других категориях/архивов

Я играл с «таксономией» и «включал», вставляя идентификатор брендов, но результатов не получал. Вот моя последняя попытка.

add_action('woocommerce_after_shop_loop_item_title', 'lk2_woocommerce_product_excerpt', 35, 2); 
if (!function_exists('lk2_woocommerce_product_excerpt')) 
{ 
function lk2_woocommerce_product_excerpt() 
{ 
$content_length = 20; 
global $post; 
$args = array(
'include'   => '120,121,122,123,124,125,126,127', 
'taxonomy'   => 'product_brand', 
); 
$content = $post->post_excerpt; 
$wordarray = explode(' ', $content, $content_length + 1); 
if(count($wordarray) > $content_length) : 
array_pop($wordarray); 
array_push($wordarray, '...'); 
$content = implode(' ', $wordarray); 
$content = force_balance_tags($content); 
endif; 
echo "<span class='excerpt'><p>$content</p></span>"; 
} 
} 

К сожалению, мы еще не купили домен, поэтому я не могу показать вам ссылку.

Я мог бы исправить выход с помощью css, но я бы предпочел решить его непосредственно из кода. Можете ли вы помочь мне найти направление для исправления моей ошибки? Спасибо за ваше время!

+0

Является ли «бренд» типом таксономии? Не могли бы вы использовать условную логику внутри функции? – helgatheviking

+0

@helgatheviking извините за вопрос, но что такое таксономия? – Yang

+0

[Таксономии] (http://codex.wordpress.org/Taxonomies) - способ объединить вещи. Теги и категории - это встроенные таксономии для сообщений. Теги продукта и категории продуктов являются таксономиями для продуктов, созданных WooCommerce. – helgatheviking

ответ

0

Спасибо за все ваши направления! Вот код, благодаря Дэвиду

add_action('woocommerce_after_shop_loop_item_title', 'lk_woocommerce_product_excerpt', 35, 2); 
if (!function_exists('lk_woocommerce_product_excerpt')){ 
    function lk_woocommerce_product_excerpt(){ 
     $content_length = 10; 
     if(get_query_var('product_brand')) 
      $content_length = 20; 
     global $post; 
     $content = $post->post_excerpt; 
     $wordarray = explode(' ', $content, $content_length + 1); 
     if(count($wordarray) > $content_length) : 
     array_pop($wordarray); 
     array_push($wordarray, '...'); 
     $content = implode(' ', $wordarray); 
     $content = force_balance_tags($content); 
     endif; 
     echo "<span class='excerpt'><p>$content</p></span>"; 
    } 
} 
+0

if (get_query_var ('product_brand')) - это то, что Я искал – Elena

+0

'if (is_taxonomy ('product_brand'))' также должен работать. Рад, что вы его отсортировали в конце. – helgatheviking

0

Это выглядит, как он может получить ответ: If is custom post type

if (is_single() && is_post_type('product_brand')){ 
    //work magic 
} 
+0

Вы можете комбинировать это как 'is_singular ('product_brand')'. – helgatheviking

+0

Спасибо, keepkalm и @helgatheviking, это интересно: я буду хранить ваши драгоценные советы в будущем (но я не смог успешно использовать их с моим кодом) – Elena

Смежные вопросы