自定义字段网址选项为Woocommerce产品缩略图(Custom Field URL Option

2019-11-02 05:27发布

目前我使用的Woocommerce插件的附属产品。 我希望能够点击缩略图的主页上,并直接进入亚马逊为例。 目前,它的设置,以便一旦点击它进入我的网站上的商品详细页。 从那里,你可以到亚马逊页面。 然而,更少的点击就越好。

所以我发现在内容product.php页挂钩。 我所做的是包裹在URL整个事情,并使用了自定义字段中添加URL。 按预期不起作用。 什么情况是,该URL去使用的销售闪存选项之一,只有当亚马逊。 当关闭时,URL不会去亚马逊,但在我的网站的产品页面。 我不知道还有什么地方放置URL包装。

所以我试图寻找<a href="<?php the_permalink(); ?>">当前控制在缩略图去。 我追踪的功能将woocommerce-template.php文件中。 这就是我进入了死胡同。 我不知道它是当前的缩略图。

这里是我的,在内容product.php页作品部分修改后的代码:

<div class="thumbnail-wrapper">
        <a href="<?php echo get_post_meta( $post->ID, 'URLThumb', true ); ?>">
        <?php
            /**
             * woocommerce_before_shop_loop_item_title hook
             *
             * @hooked woocommerce_show_product_loop_sale_flash - 10
             * @hooked woocommerce_template_loop_product_thumbnail - 10
             */
            do_action( 'woocommerce_before_shop_loop_item_title' );
        ?>  
        </a>
</div>

这里是我似乎无法进一步深入查找存在的缩略图功能<a href="<?php the_permalink(); ?>">改变。 这是woocommerce-的template.php页面上。

if ( ! function_exists( 'woocommerce_template_loop_product_thumbnail' ) ) {

/**
 * Get the product thumbnail for the loop.
 *
 * @access public
 * @subpackage  Loop
 * @return void
 */
function woocommerce_template_loop_product_thumbnail() {
    echo woocommerce_get_product_thumbnail();
}
}

Answer 1:

文件名:woocommerce.php

文件位置:可湿性粉剂内容/主题/“您的主题” /主题/ woocommerce.php

解决方案:通过产品类型的查询目标外部的产品,在$ product_url外部循环时,和在循环get_permalink()简单,当/变量。 此代码还占了一个新的选项卡中打开外部产品。

我要发布的看了一下代码像以前一样一个版本,然后又用我的补充+修改。 在我的主题,我贴的第一行代码上线374存在woocommerce.php内(这将取决于你的主题不同,一些主题可能没有修改woocommerce.php文件,如果是这样的话,只需将woocommerce .PHP到从插件的主题目录。

码添加/修改前:

function woocommerce_template_loop_product_thumbnail() {

global $product, $woocommerce_loop;


$i = 0;
$attachments = array();

$attachments[] = get_post_thumbnail_id();
$attachments = array_merge( $attachments, $product->get_gallery_attachment_ids() );

$original_size = wc_get_image_size( 'shop_catalog' );


if ( $woocommerce_loop['view'] == 'masonry_item' ) {
    $size = $original_size;
    $size['height'] = 0;
    YIT_Registry::get_instance()->image->set_size('shop_catalog', $size );
}

switch  ( $woocommerce_loop['products_layout'] ) {

    case 'zoom':
        if( isset( $attachments[1] ) ) {

            echo '<a href="' . get_permalink() . '" class="thumb">' . woocommerce_get_product_thumbnail() . '</a>';
            echo '<div class="attachments-thumbnail">';
            while( $i < 3 ){
                if( ! isset( $attachments[ $i ] ) ) break;
                $src = wp_get_attachment_image_src( $attachments[ $i ], 'shop_catalog' );
                $active = ( $i == 0 ) ? 'active' : '';
                echo '<div class="single-attachment-thumbnail ' . $active . '" data-img="' . $src[0] . '">';
                yit_image( "id=$attachments[$i]&size=shop_thumbnail&class=image-hover" );
                echo '</div>';
                $i++;
            }
            echo '</div>';
        }
        else {
            echo '<a href="' . get_permalink() . '" class="thumb">' . woocommerce_get_product_thumbnail() . '</a>';
        }
        break;

    case 'flip':
        if( isset( $attachments[1] ) ) {
            echo '<a href="' . get_permalink() . '" class="thumb backface"><span class="face">' . woocommerce_get_product_thumbnail() . '</span></a>';
            echo '<span class="face back">';
            yit_image( "id=$attachments[1]&size=shop_catalog&class=image-hover" );
            echo '</span></a>';
        }
        else {
            echo '<a href="' . get_permalink() . '" class="thumb"><span class="face">' . woocommerce_get_product_thumbnail() . '</span></a>';
        }
        break;
}

码添加/修改后:

    function woocommerce_template_loop_product_thumbnail() {

global $product, $woocommerce_loop;

if(!is_single() ) {
    if( $product->is_type( 'external' ) ){
    $product_url = $product->get_product_url() . '"target="_blank""';
        } else( $producenter code heret_url = get_permalink());
} else ($product_url = get_permalink());

$i = 0;
$attachments = array();

$attachments[] = get_post_thumbnail_id();
$attachments = array_merge( $attachments, $product->get_gallery_attachment_ids() );

$original_size = wc_get_image_size( 'shop_catalog' );


if ( $woocommerce_loop['view'] == 'masonry_item' ) {
    $size = $original_size;
    $size['height'] = 0;
    YIT_Registry::get_instance()->image->set_size('shop_catalog', $size );
}

switch  ( $woocommerce_loop['products_layout'] ) {

    case 'zoom':
        if( isset( $attachments[1] ) ) {

            echo '<a href="' . $product_url . '" class="thumb">' . woocommerce_get_product_thumbnail() . '</a>';
            echo '<div class="attachments-thumbnail">';
            while( $i < 3 ){
                if( ! isset( $attachments[ $i ] ) ) break;
                $src = wp_get_attachment_image_src( $attachments[ $i ], 'shop_catalog' );
                $active = ( $i == 0 ) ? 'active' : '';
                echo '<div class="single-attachment-thumbnail ' . $active . '" data-img="' . $src[0] . '">';
                yit_image( "id=$attachments[$i]&size=shop_thumbnail&class=image-hover" );
                echo '</div>';
                $i++;
            }
            echo '</div>';
        }
        else {
            echo '<a href="' . $product_url . '" class="thumb">' . woocommerce_get_product_thumbnail() . '</a>';
        }
        break;

    case 'flip':
        if( isset( $attachments[1] ) ) {
            echo '<a href="' . $product_url . '" class="thumb backface"><span class="face">' . woocommerce_get_product_thumbnail() . '</span></a>';
            echo '<span class="face back">';
            yit_image( "id=$attachments[1]&size=shop_catalog&class=image-hover" );
            echo '</span></a>';
        }
        else {
            echo '<a href="' . $product_url . '" class="thumb"><span class="face">' . woocommerce_get_product_thumbnail() . '</span></a>';
        }
        break;
}

程式码:

  if( $product->is_type( 'external' ) ){
    $product_url = $product->get_product_url() . '"target="_blank""';
        } else( $product_url = get_permalink());
} else ($product_url = get_permalink());

代码修改:

与上面所添加的代码之外,替换()与$ product_url get_permalink的所有实例。



Answer 2:

周围想出了一个工作。 由于SalesFlash图像被触发的一个,我只是用一个空白PNG图像叠加ontop的产品形象。 把我所有的产品进​​入销售的项目和它的作品。 并不完美,但我并不需要出售图标反正。

人若知道正确的编程解决方案,我会改变它。 谢谢。



Answer 3:

这对在内容product.php工作对我没有要求的元数据

  <div class="thumbnail-wrapper"><a href="<?php echo $product->product_url; ?>">
    <?php

            /**
             * woocommerce_before_shop_loop_item_title hook
             *
             * @hooked woocommerce_show_product_loop_sale_flash - 10
             * @hooked woocommerce_template_loop_product_thumbnail - 10
             */
            do_action( 'woocommerce_before_shop_loop_item_title' );
        ?>  </a>
    </div

我也做了同样的事情中环路/添加到cart.php的“添加更多”和“详细信息”按钮线21 get_permalink()和57 $link分别替换它们是这样的:27行

$details  = sprintf('<a href="%s" rel="nofollow" title="%s" class="details">%s</a>', get_permalink(), apply_filters('yit_details_button', __( 'Details', 'yit' )), apply_filters('yit_details_button', __( 'Details', 'yit' )) );

替换$产品 - > product_url和在管线57 get_permalink()

   $add_to_cart = sprintf('<a href="%s" rel="nofollow" class="view-options" title="%s">%s</a>', apply_filters( 'yit_external_add_to_cart_link_loop', $link, $product ), $label, $label);

再次更换$产品 - > product_url $链接。 我没有问题,直到如今。 我在想,如果你终于找到了澄清溶液,所以我们可以做thumnails和产品图片同样的事情,而对them.Im没有太多的代码的顶部添加一个空白图像,所以我希望如果有人知道如何把外部在正面page.Thank你的产品图片链接



文章来源: Custom Field URL Option for Woocommerce Product Thumbnail