当前位置: 首页 > 知识库问答 >
问题:

Woocommerce插件:Woocommerce类别横幅-将类别横幅添加到单个产品

王渊
2023-03-14

使用插件WooCommerce类别Banner,我能够在每个WooCommerce类别页面上插入一个横幅图像(尽管插件在后端的WooCommerce类别页面上添加了横幅字段)。

我试图找到一种方法,插入单一产品页面(1级以上)的类别横幅图像。

这是用于显示类别横幅的代码(我已将其包含在/主题/woocommerce.php):

//Retreives and print the category banner

global $woocommerce;
global $wp_query;

// Make sure this is a product category page
if ( is_product_category() ) {

    $cat_id = $wp_query->queried_object->term_id;
    $term_options = get_option( "taxonomy_term_$cat_id" ); 

    // Ge the banner image id
    if ( $term_options['banner_url_id'] != '' )
        $url = wp_get_attachment_url( $term_options['banner_url_id'] ); 

    // Exit if the image url doesn't exist
    if ( !isset( $url ) or $url == false )
        return;

    // Get the banner link if it exists
    if ( $term_options['banner_link'] != '' )
        $link = $term_options['banner_link'];

    // Print Output
    if ( isset( $link ) )
        echo "<a href='" . $link . "'>"; 

    if ( $url != false ) 
        echo "<img src='" . $url . "' class='category_banner_image' />";

    if ( isset( $link ) )
        echo "</a>";
}

使用我在上面代码之后直接在此处找到的代码,我能够在单个产品页面上插入类别缩略图:

elseif ( is_product() ) {
    $terms = get_the_terms( $post->ID, 'product_cat' );
    foreach ( $terms as $term ){
        $category_name = $term->name;
        $category_thumbnail = get_woocommerce_term_meta($term->term_id, 'thumbnail_id', true);
        $image = wp_get_attachment_url($category_thumbnail);
        echo '<img class="category_banner_image" src="'.$image.'">';
}

关于如何修改代码块以提取woocommerce类别横幅插件添加到每个类别并插入到单个产品页面上的“横幅url\u id”,您有什么想法吗?

共有1个答案

方夜洛
2023-03-14

图像的url存储在wp_选项表中,因此您需要将其放入单个产品的内容中。php:

$cat_id = $wp_query->queried_object->term_id;
$term_options = get_option( "taxonomy_term_$cat_id" );

$url = wp_get_attachment_url( $term_options['banner_url_id'] );

if ( $url != false ) 
    echo "<img src='" . $url . "' class='category_banner_image' />";

编辑:

如果你想在里面得到横幅content_single_product.php你需要这样想:每个产品都可以关联到许多术语(如:红色,蓝色,白色等),所以你需要选择一个随机的图像,每个类别,对吗?

 $termArray =  array();
 $terms = get_the_terms($post->ID, "product_cat");

 //insert id's in to array
 foreach ($terms as $id) {
    $termArray[] = $id->term_id;
 }

//get random id
$randomId = array_rand($termArray);

 //final ID
$cat_id = $termArray[$randomId];

$term_options = get_option( "taxonomy_term_$cat_id" );

$url = wp_get_attachment_url( $term_options['banner_url_id'] );

if ( $url != false ) 
   echo "<img src='" . $url . "' class='category_banner_image' />";
 类似资料:
  • PWA 提供两种添加应用横幅的形式,分别实现引导用户添加 PWA 至桌面和引导用户下载原生应用的功能。本文将介绍应用安装横幅的实现及管理。 引导用户添加应用至主屏幕 引导用户安装原生应用 warn 注意 应用添加横幅功能目前仅有部分浏览器支持,具体支持情况可以查看 App Manifest 的相关统计。因此在开发应用时请做好功能降级工作。 引导用户添加应用至主屏幕 引导用户将 PWA 添加至主屏幕

  • 在本章中,我们将研究在Joomla中Adding Banners 。 它显示活动横幅,并允许您使用不同的横幅广告在网页上。 添加横幅 以下是在Joomla中添加横幅的简单步骤。 Step (1) - 在joomla管理员中单击Components → Banners → Banners ,您将看到以下屏幕。 Step (2) - 接下来,单击“ New按钮,您将看到以下屏幕。 上面的屏幕中有不同的

  • 1. 包含头文件 #import <AdHubSDK/AdHubSDK.h> 2. AdHubBannerView 的创建和初始化 在需要导入广告的ViewController头文件中导入头文件并声明实例以及声明代理 #import <AdHubSDK/AdHubSDK.h> @interface AdHubBannerViewController ()<AdHubBannerViewDele

  • 在我的WooCommerce网上商店的单一产品显示所有类别,它属于使用以下代码: 现在,我只想显示顶级父类别,而不想显示产品所属的子类别。 我试了很多,但似乎什么都不管用。有人对此有解决方案吗?

  • 我正在尝试将产品类别添加到电子邮件通知中。自定义字段(时间和日期)起作用,但产品类别显示为“数组”。

  • admob文档中写道: 广告单元ID是应用程序中显示广告的位置的唯一标识符。为应用程序将执行的每个活动创建一个广告单元。例如,如果你有一个包含两个活动的应用程序,每个活动都显示一个横幅,那么你需要两个广告单元,每个广告单元都有自己的ID。AdMob广告单元ID的格式为ca-app-pub-xxxxxxxxxx/nnnnnnnn。 举个例子: 我有一些活动将使用横幅广告。对于每个横幅,我肯定会使用不

  • 我不明白!!!我已经设法将产品类别描述包含在各自的页面中。我有6个类别,其中四个我需要添加一个描述。从四个人中,有三个人发挥了应有的作用。然而,其中有一个不仅显示了它的描述,还显示了另一个类别的描述。 每个类别有两个用于多种语言目的。但是你可以看到我需要添加描述的四个类别。 1-上衣2-下装3-一体式4-运动装 前三个起到了应有的作用。即。底部分类页面。 但第四,运动服不仅不断地展示它的描述,而且

  • 希望你能帮我解决这个问题。我有一个问题,一些产品在子类别404'ing当去那里的产品页面。但奇怪的是,我在谷歌上找不到的只是他们中的一些人在做这件事。 实例 SKU:产品1--类别:类别1 SKU:产品2--类别:类别2,子类别1 SKU:Product3--类别:类别2,子类别1 SKU:Product4--类别:类别2,子类别1 将显示Product1、Product2、Product4。带有