在商店按钮WooCommerce旁边添加第二个按钮

时间:2019-02-25 作者:TonyD

所以我的客户想要的是在商店页面上,在每个产品上,商店按钮旁边都有第二个按钮。此按钮应为每个产品pdf文件提供自定义,客户无需输入确切的产品页面即可下载。我刚开始发展,这对我来说有点困难,所以如果你们能帮助我,我将非常感谢:)

1 个回复
最合适的回答,由SO网友:Chinmoy Kumar Paul 整理而成

代码使用2019主题进行测试。打开功能。php文件,并将此代码放在文件末尾。

add_action( \'woocommerce_after_shop_loop_item\', \'wpse2019_add_pdf_download_button\', 10 );
function wpse2019_add_pdf_download_button() {
    global $product;

    if( $product ) {
        printf( \'<a href="%s" class="pdf-button button btn" role="button">%s</a>\', "YOUR PDF LINK HERE", __( \'DWONLOAD PDF\', \'text-domain\' ) );
    }
}
默认值add to cartselect options 按钮正在通过添加woocommerce_after_shop_loop_item 钩子(来源:templates/archive product.php)。我使用相同的挂钩并添加了第二个自定义按钮。您将替换YOUR PDF LINK HERE 使用PDF链接。

如果要为每个产品添加不同的PDF文件,则将使用自定义字段逻辑。您可以使用WordPress本机自定义字段选项或一些免费插件,如ACF/PODs/CMB2等

假设您的自定义字段为wc_product_pdf_file. 然后您可以尝试此代码

add_action( \'woocommerce_after_shop_loop_item\', \'wpse2019_add_pdf_download_button\', 10 );
function wpse2019_add_pdf_download_button() {
    global $product;

    if( $product ) {
        $pdf_link = get_post_meta( $product->get_id(), \'wc_product_pdf_file\', true );
        if( ! empty( $pdf_link ) ) {
            printf( \'<a href="%s" class="pdf-button button btn" role="button">%s</a>\', $pdf_link, __( \'DWONLOAD PDF\', \'text-domain\' ) );
        }
    }
}
get_post_meta 函数正在获取post元数据。$product->get_id() 正在提供当前产品ID。

Note: 在编辑文件之前,请保留主题的备份。

相关推荐