wordpress 在WooCommerce中插入短代码产品描述

3wabscal  于 2023-10-17  发布在  WordPress
关注(0)|答案(2)|浏览(142)

我们需要在WooCommerce产品描述中添加简码。这样做的目的是,我们可以将块调用到特定的产品中,然后只更新该块,每个人的名单。你知道怎么做吗?目前它只显示实际的简码,而不是内容。
这是短代码:[block id="product-callouts-01"]
我在我的Functions.php文件中尝试了这段代码,但没有用:

if (!function_exists('woocommerce_template_single_excerpt')) {
   function woocommerce_template_single_excerpt( $post ) {
       global $post;
       if ($post->post_excerpt) echo '<div itemprop="description">' . do_shortcode(wpautop(wptexturize($post->post_excerpt))) . '</div>';
   }
}
zdwk9cvp

zdwk9cvp1#

将此代码添加到您的function.php

function custom_woocommerce_product_description($description) {

    $pattern = '/\[block id="([^\]]+)"\]/'; 
    if (preg_match($pattern, $description, $matches)) {
        $shortcode = $matches[0];
        $block_id = $matches[1];

        $block_content = get_block_content_by_id($block_id); 
        $description = str_replace($shortcode, $block_content, $description);
    }

    return do_shortcode($description);
}

add_filter('woocommerce_short_description', 'custom_woocommerce_product_description');

function get_block_content_by_id($block_id) {
    $block_content = "Replace this with the actual content of the block";

    return $block_content;
}

?>
vfwfrxfs

vfwfrxfs2#

要在产品说明中添加简码,您可以尝试以下操作:

add_filter( 'the_content', 'change_product_description' );
function change_product_description( $post_content ) {
    global $post;

    if( get_post_type($post->ID) === 'product' ) {
        $post_content .= do_shortcode('[block id="product-callouts-01"]');
    }
    return $post_content;
}

代码放在子主题的functions.php文件中(或插件中)。应该可以的

相关问题