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 品牌页面的摘录的主要内容,如果未能解决你的问题,请参考以下文章

WordPress 搜索仅适用于帖子,不适用于页面

下拉菜单“aria”仅适用于 714px Bootstrap Wordpress 主题

Wordpress:当用户注册时发送通知,但仅适用于具有订阅者角色的用户

php 更改Wordpress默认图像压缩百分比。我最满意的是90%;)请记住,它仅适用于新上传的图片 -

我的 foreach 仅适用于第一个实例 [重复]

jQuery Autocomplete 仅适用于大写