Wordpress:仅适用于 Woocommerce 品牌页面的摘录
Posted
技术标签:
【中文标题】Wordpress:仅适用于 Woocommerce 品牌页面的摘录【英文标题】:Wordpress: excerpt only for Woocommerce Brand pages 【发布时间】:2014-10-11 09:56:22 【问题描述】:亲爱的 *** 朋友们, 在 Wordpress 电子商店中,我们使用 Woocommerce 及其扩展插件 Woocommerce Brand Addon。
我希望此代码(位于 functions.php 中)仅应用于 Woocommerce 品牌页面:该代码在 Woocommerce 品牌中发挥作用,但也适用于其他类别/档案
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;
$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>";
我使用“分类”和“包含”,插入品牌 ID,但没有结果。这是我最后一次尝试。
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 修复输出,但我更喜欢直接从代码中解决。 你能帮我找到解决我的错误的方向吗?感谢您的宝贵时间!
【问题讨论】:
“品牌”是一种分类法吗?你不能在函数内部使用条件逻辑吗? @helgatheviking 不好意思问了,taxonomy
是什么?
Taxonomies 是一种将事物组合在一起的方式。标签和类别是帖子的内置分类法。产品标签和产品类别是 WooCommerce 创建的产品的分类法。
是的,product_brand 是一种分类,由 Woocommerce Brand Plugin 注册!好的,谢谢@helgatheviking 我尝试并使用了条件逻辑!
我不得不问,因为我不熟悉那个特定的插件。您可以在问题中提供的信息越多,人们就越容易为您提供帮助……尤其是在处理并非每个人都可以访问的高级插件时。
【参考方案1】:
这看起来可能有答案:If is custom post type
if (is_single() && is_post_type('product_brand'))
//work magic
【讨论】:
你可以把它组合成is_singular('product_brand')
。
谢谢keepkalm 和@helgatheviking,这很有趣:我会记住你的宝贵建议以备不时之需(但我无法在我的代码中成功使用它们)【参考方案2】:
感谢您的所有指示!这是代码,感谢大卫
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>";
【讨论】:
if(get_query_var('product_brand')) 是我要找的东西if(is_taxonomy('product_brand'))
也应该可以工作。很高兴你最后把它整理好了。以上是关于Wordpress:仅适用于 Woocommerce 品牌页面的摘录的主要内容,如果未能解决你的问题,请参考以下文章
下拉菜单“aria”仅适用于 714px Bootstrap Wordpress 主题
Wordpress:当用户注册时发送通知,但仅适用于具有订阅者角色的用户