Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Woocommerce-外部/附属公司产品图像和外部链接标题(新选项卡)_Php_Wordpress_Woocommerce_Affiliate_Woothemes - Fatal编程技术网

Php Woocommerce-外部/附属公司产品图像和外部链接标题(新选项卡)

Php Woocommerce-外部/附属公司产品图像和外部链接标题(新选项卡),php,wordpress,woocommerce,affiliate,woothemes,Php,Wordpress,Woocommerce,Affiliate,Woothemes,我从wordpress和woocommerce的编程开始。搜索堆栈后我需要帮助 我需要我的商店的产品的图像和标题,以指向附属链接,而无需通过单一的张贴页面。所有内容都会在一个新选项卡中打开 我们一直遵循这一思路: 我使用了Sadoo的Edit#2代码,它对我来说非常适合 remove_action('woocommerce_before_shop_loop_item', 'woocommerce_template_loop_product_link_open'); add_action('woo

我从wordpress和woocommerce的编程开始。搜索堆栈后我需要帮助

我需要我的商店的产品的图像和标题,以指向附属链接,而无需通过单一的张贴页面。所有内容都会在一个新选项卡中打开

我们一直遵循这一思路:

我使用了Sadoo的Edit#2代码,它对我来说非常适合

remove_action('woocommerce_before_shop_loop_item', 'woocommerce_template_loop_product_link_open');
add_action('woocommerce_before_shop_loop_item_title', 'woocommerce_template_loop_product_link_open', 15);

add_action('woocommerce_before_shop_loop_item', 'woocommerce_add_aff_link_open', 10);
add_action('woocommerce_before_shop_loop_item_title', 'woocommerce_add_aff_link_close', 10);

function woocommerce_add_aff_link_open(){
  $product = wc_get_product(get_the_ID());
  if( $product->is_type( 'external' ) )
    echo '<a href="' . $product->get_product_url() . '" class="woocommerce-LoopProductImage-link">';
}

function woocommerce_add_aff_link_close(){
  $product = wc_get_product(get_the_ID());
  if( $product->is_type( 'external' ) )
    echo '</a>';
}
remove_action('woocommerce_在_shop_loop_项目之前,'woocommerce_模板_loop_产品_link_open');
添加操作(“woocommerce”在“商店”之前,在“商品”标题之前,在“woocommerce”模板之前,在“产品”链接之前,在“打开”,15);
添加操作(“购物前的woocommerce\u循环项目”,“woocommerce\u添加后的链接打开”,10);
添加动作(“购物前的woocommerce”循环“商品”标题”,“woocommerce”添加“aff”链接“close”,10);
功能:商业添加链接打开(){
$product=wc_get_product(get_the_ID());
如果($product->is_类型('external'))
回声';
}
我只需要标题链接像图片和一切打开在新的标签

有人能说我该怎么继续吗

多谢各位


如果您想在商店页面的外部产品的新选项卡中打开附加到图像的链接,请按以下方式编辑代码

remove_action('woocommerce_before_shop_loop_item', 'woocommerce_template_loop_product_link_open');
add_action('woocommerce_before_shop_loop_item_title', 'woocommerce_template_loop_product_link_open', 15);
add_action('woocommerce_before_shop_loop_item', 'woocommerce_add_aff_link_open', 10);
add_action('woocommerce_before_shop_loop_item_title', 'woocommerce_add_aff_link_close', 10);

function woocommerce_add_aff_link_open(){
    $product = wc_get_product(get_the_ID());

    if( $product->is_type( 'external' ) ) {
        echo '<a target="_blank" href="' . $product->get_product_url() . '" class="">';
    }
}

function woocommerce_add_aff_link_close(){
    $product = wc_get_product(get_the_ID());

    if( $product->is_type( 'external' ) ) {
        echo '</a>';
    }
}
remove_action('woocommerce_在_shop_loop_项目之前,'woocommerce_模板_loop_产品_link_open');
添加操作(“woocommerce”在“商店”之前,在“商品”标题之前,在“woocommerce”模板之前,在“产品”链接之前,在“打开”,15);
添加操作(“购物前的woocommerce\u循环项目”,“woocommerce\u添加后的链接打开”,10);
添加动作(“购物前的woocommerce”循环“商品”标题”,“woocommerce”添加“aff”链接“close”,10);
功能:商业添加链接打开(){
$product=wc_get_product(get_the_ID());
如果($product->is_类型('external')){
回声';
}
}
然后,如果您想要,标题将在带有外部链接的新选项卡中打开,然后将这些覆盖的woocommerce函数添加到主题的functions.php文件中

function woocommerce_template_loop_product_link_open() {
    global $product;

    if( $product->is_type( 'external' ) ) {
        $link = apply_filters( 'woocommerce_loop_product_link', $product->get_product_url(), $product );
        echo '<a target="_blank" href="' . esc_url( $link ) . '" class="woocommerce-LoopProduct-link woocommerce-loop-product__link">';
    } else {
        $link = apply_filters( 'woocommerce_loop_product_link', get_the_permalink(), $product );
        echo '<a href="' . esc_url( $link ) . '" class="woocommerce-LoopProduct-link woocommerce-loop-product__link">';
    }
} 
功能商业\模板\循环\产品\链接\开放(){
全球$产品;
如果($product->is_类型('external')){
$link=apply_过滤器('woocommerce_loop_product_link',$product->get_product_url(),$product);
回声';
}否则{
$link=apply_过滤器('woocommerce_loop_product_link',获取_permalink(),$product);
回声';
}
} 

以下是一种更简洁的方法,可以帮助您将
target=“\u blank”
添加到存档页面上的链接,以便在新选项卡中打开它们:

function ns_open_in_new_tab($args, $product) 
{
    if( $product->is_type('external') ) {
        // Inject target="_blank" into the attributes array
        $args['attributes']['target'] = '_blank';
    }    

    return $args;
}
add_filter( 'woocommerce_loop_add_to_cart_args', 'ns_open_in_new_tab', 10, 2 );

ns
部分替换为您自己的名称空间缩写。

如果您希望在新选项卡中打开链接,请将一行代码更改为这些回显“”;}但你能详细说明一下标题吗?你说的标题形象是什么意思?太好了!图像将在新选项卡中打开!请原谅我的定义。我想产品的名称也指向附属链接。我附加了一个图像,使它更直观。非常感谢Oleg Apanovich.:)更好的解决方案在我眼里。非常感谢。