如何在WooCommerce中创建一个动态按钮,将人们带到产品页面?

时间:2017-03-16 16:37:21

标签: php wordpress woocommerce

我正在使用WooCommerce功能创建WordPress主题。

对于主页,我已插入WooCommerce短代码:[recent_products per_page="4" columns="4"]以便提取最新产品。此短代码生成一个“按钮”,选中此项后,会将产品项添加到购物篮中。我想删除它并用标准按钮替换它,该按钮将人们引导到产品页面,以便阅读有关产品的更多信息。为此,我在function.php文件中输入了以下代码:

//Removes Default 'Add to Basket Button':
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart' );

//More Info Button
add_action( 'woocommerce_after_shop_loop_item', 'woocommerce_more_info' );

function woocommerce_more_info() {
    echo '<a id="id-<?php the_id(); ?>" href="<?php the_permalink(); ?>" title="<?php the_title(); ?>">More Info</a>';  
}

我的问题在于,当链接文本出现在正确的位置时,链接不起作用。而不是带我到相关的产品,带我到以下链接:

http://www.example.com/%3C?php%20the_permalink();%20?%3E

有人可以告诉我需要执行哪些更改,以便链接将我带到产品中。

另外,我怎么能去设计这样一个按钮呢?我会在此功能或其他地方加入吗?

1 个答案:

答案 0 :(得分:1)

您未正确使用echo

这一行:

echo '<a id="id-<?php the_id(); ?>" href="<?php the_permalink(); ?>" title="<?php the_title(); ?>">More Info</a>';  

应该是:

echo '<a id="id-'. get_the_id() .'" href="'. get_the_permalink() .'" title="'. get_the_title() .'">More Info</a>';

the_permalink()get_the_permalink()之间的区别在于第一个显示内容,而后者返回值,因此您可以在字符串中使用它。您使用的其他功能也是如此。