You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WooCommerce:如何仅在特定作者的产品归档页显示自定义信息

解决WooCommerce特定作者商品归档页加购按钮前显示自定义内容的问题

我来帮你搞定这个问题!你之前的代码没生效,核心原因是在产品归档的循环里,get_queried_object_id()返回的是当前归档页面(比如商店页、分类页)的ID,不是单个商品的ID,所以没法正确获取对应商品的作者信息。咱们换个思路,直接利用函数里的$product参数来获取当前商品的作者即可。

下面是修正后的完整代码,你可以根据需求选择用作者昵称或者作者ID来判断:

add_filter( 'woocommerce_loop_add_to_cart_link', 'tomich_add_melody_vendor', 10, 3 );
function tomich_add_melody_vendor ( $add_to_cart_html, $product, $args ) {
    // 获取当前商品的作者ID
    $product_author_id = get_post_field('post_author', $product->get_id());
    
    // 方式1:通过作者昵称判断(比如你要匹配的是昵称'vivian')
    $target_author_name = 'vivian';
    if (get_the_author_meta('display_name', $product_author_id) === $target_author_name) {
        $before = 'Shop: <img class="vendor-image-tomich" src="https://melodypayne.com/wp-content/uploads/2019/06/cropped-Melody-Payne-Store-Logo-Pic-2019.png" alt="Melody Logo"><span class="tomich-shop-title"><a href="/shop/melodypayne">Melody Payne</a></span></br></br>';
        return $before . $add_to_cart_html;
    }

    // 方式2:通过作者ID判断(更稳定,不会因为昵称修改失效,比如作者ID是123)
    // $target_author_id = 123;
    // if ($product_author_id === $target_author_id) {
    //     $before = 'Shop: <img class="vendor-image-tomich" src="https://melodypayne.com/wp-content/uploads/2019/06/cropped-Melody-Payne-Store-Logo-Pic-2019.png" alt="Melody Logo"><span class="tomich-shop-title"><a href="/shop/melodypayne">Melody Payne</a></span></br></br>';
    //     return $before . $add_to_cart_html;
    // }

    // 如果不是目标作者的商品,直接返回原加购按钮HTML
    return $add_to_cart_html;
}

关键说明:

  • 用$product->get_id()获取当前循环中单个商品的ID,再通过get_post_field('post_author', ...)拿到该商品的作者ID,这才是循环中正确的获取方式。
  • 优先推荐用作者ID判断,因为昵称可能被修改,ID是永久不变的,逻辑更稳定。
  • 如果你需要同时匹配多个作者,可以把判断条件改成数组包含的形式,比如:
    $target_author_ids = [123, 456]; // 多个目标作者ID
    if (in_array($product_author_id, $target_author_ids)) {
        // 执行自定义内容逻辑
    }
    

内容的提问来源于stack exchange,提问作者Shelley

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 16:52:47