按标题与帖子相关的产品

时间:2019-03-18 作者:codesnipper

如何插入到同一标题的单个贴子相关woocommerce产品?

最好是WC快捷码之类的东西

[add_to_cart id="XX"]
但是像这样

[add_to_cart title="XXXXXXXXX"]

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

默认woocommerce短代码无法做到这一点。您需要编写一些自定义内容来按标题获取产品,从那里获取ID,然后使用ID调用添加到购物车的快捷码。类似于这样:

add_shortcode(\'add_to_cart_by_title\', \'add_to_cart_by_title\');
function add_to_cart_by_title ($atts) {
    if (!class_exists(\'WooCommerce\')) {
        return \'\';
    }
    $args = shortcode_atts(array(
        \'title\' => \'\'
    ), $atts);

    $related_product = get_page_by_title($args[\'title\'], OBJECT, \'product\');

    if ($related_product) {
        $product_id = $related_product->ID;
        return do_shortcode(\'[add_to_cart id="\' . $product_id . \'"]\');
    }
    return \'\';
}
然后你会这样打电话[add_to_cart_by_title title="whatever"]

您还可以从shortcode调用中删除title属性,让它通过get_the_title()

相关推荐