WooCommerce-使用自定义域(链接)将可变产品添加到购物车以表现为外部产品

时间:2014-01-05 作者:Samantha

我正在通过XML将附属产品导入Woocommerce。由于产品有变化,如果我使用外部/附属产品类型,我会在前端重复产品(例如,相同的产品具有不同的位置/颜色)。为了避免这种情况,我试图将这些产品作为可变产品导入,这就解决了问题,但现在我需要将“添加到购物车”更改为类似于外部产品(即链接到其他网站的按钮)。

我已经创建了一个与每个产品关联的自定义值,名为“Buy\\u Link”,现在呢?

我搜索了又搜索,但找不到一个解决方案,我认为对于有php知识的人来说,这个解决方案相对简单。

我知道我应该能够通过如下方式检索链接:

<?php echo get_post_meta($post->ID, \'Buy_Link\', true); ?>
(在一些帮助和更多搜索之后)我相信我需要放置代码:ID,‘Buy\\u Link’,true);?>

进入单个产品/添加到购物车/变量。php,但我仍然不确定它在该模板中的位置。

我想用这个链接来取代原来的“添加到购物车”按钮的一些功能。

显然,我对php代码不太熟悉,所以请具体说明如何以及在模板中放置代码的位置。非常感谢。

3 个回复
最合适的回答,由SO网友:Samantha 整理而成

我找到了一个为每个变体添加自定义字段的解决方案,如果有人在寻找这个解决方案,这里有一个教程(感谢Derek!):

http://designloud.com/how-to-add-affiliate-links-to-woocommerce-variations/

我花了数周时间试图找到解决方案-希望这能节省一些时间:)

SO网友:Samantha

我找到了解决办法。这太简单了,我简直不敢相信我不是第一次这么做的,但你在这里(duh),我以为它比那更复杂。。。

我的解决方案如下:

将woocommerce模板复制到我的主题以覆盖单个产品/添加到购物车/变量。php

编辑变量。php,更改

<?php echo esc_url( $product->add_to_cart_url() ); ?>
到以下位置(通过调用我的自定义字段url进行替换):

<?php echo get_post_meta($post->ID, \'Buy_Link\', true); ?>
无论如何,这是一种享受,可以获得购买按钮的链接(并完全绕过购物车),但仍然允许显示变化。现在,我只需要为每个变量获取一个自定义字段,而不是每个变量产品只有一个自定义字段(没有意识到这一限制)!然后,我可以为每个变体创建适当的链接,而不仅仅是默认的产品变体。

希望这对其他人有所帮助。

SO网友:Mayeenul Islam

您获得了显示WordPress自定义字段的确切代码。我不习惯WooCommerce,但我可以用WordPress的方式,我想WooCommerce不会有什么不同,因为它们实际上都符合编码的逻辑。

下面的代码只是为了显示(PHPecho) “字段”Buy_Link,但它不会从数据库中提取字段。因此,在编写该代码之前,必须先从数据库中提取关联的数据。

<?php echo get_post_meta($post->ID, \'Buy_Link\', true); ?>
以WordPress的方式,我们通常使用WP_Query()get_posts() (意外使用query_posts()). 在那之后,你必须把它放在the_post() 作用

但对于WP\\U查询the_post() 功能如下$query->the_post(), 如果我们这样做:

<?php
$args = array(\'post_type\'=>\'post\', \'post_status\'=>\'publish\');

$query = new WP_Query($args);

if($query->have_posts()){
   while($query->have_posts()) {
     $query->the_post(); //is actually placing the post information here ?>
     <h2><?php the_title(); ?></h2>
     <div><?php echo get_post_meta($post->ID, \'Buy_Link\', true); ?></div>
   <?php
   } //endwhile
} //endif
?>
请注意,我们正在进行new WP_Query() 进行一些论证,然后检查if 有我们询问过的帖子吗?然后我们开始了一个PHPwhile loop 传递相同的查询,并说“show”the_post() 仅从该查询使用$query-> 之前还有这个$query 正在从数据库中提取数据。

因此,在Summy中,您必须将上述显示自定义字段的代码放在数据库查询中。

结束

相关推荐

Multiple single templates?

假设我有一个名为“事件”的自定义帖子类型,它有几个用于图像、文档等的自定义元框。。是否可能有两个不同的单一模板?例如:我有一个列出所有事件的页面,如果我单击一个事件,单一视图将显示我在event single中输入的所有元信息。php模板。现在,我想有一个不同的页面,再次列出所有事件,但如果我单击查看单个事件,则会使用不同的模板,以便显示与事件相关的其他元数据。或更好:page-events.php lists all events -> click on event -> shows sin