编程语言
首页 > 编程语言> > php – WooCommerce产品简短描述中的自动文本

php – WooCommerce产品简短描述中的自动文本

作者:互联网

我正在尝试在WooCommerce文章的描述中创建一个自动文本,并将“文章仅在商店中提供”.

我想把它放在这样的函数中:

add_filter ('woocommerce_short_description', 'in_single_product', 10, 2);

function in_single_product () {
    echo '<p> article only available in the store. </ p>';
}

但这取代了已在产品简短描述中编写的文本.如果我没有放文字,则不会出现任何内容.

是否可以在没有产品简短描述的情况下将代码文本“文章仅在商店中提供”?

谢谢.

解决方法:

所以你可以这样使用它:

add_filter( 'woocommerce_short_description', 'single_product_short_description', 10, 1 );
function single_product_short_description( $post_excerpt ){
    global $product;

    $product_id = method_exists( $product, 'get_id' ) ? $product->get_id() : $product->id;

    if ( is_single( $product_id ) )
        $post_excerpt = '<p class="some-class">' . __( "article only available in the store.", "woocommerce" ) . '</p>';

    return $post_excerpt;
}

通常,此代码将覆盖单个产品页面中的现有简短描述文本,如果存在此简短描述…

(更新) – 与您的评论相关

如果要在不覆盖摘录(简短描述)的情况下显示此内容,可以在此之前添加它:

add_filter( 'woocommerce_short_description', 'single_product_short_description', 10, 1 );
function single_product_short_description( $post_excerpt ){
    global $product;

    $product_id = method_exists( $product, 'get_id' ) ? $product->get_id() : $product->id;

    if ( is_single( $product_id ) )
        $post_excerpt = '<div class="product-message"><p>' . __( "Article only available in the store.", "woocommerce" ) . '</p></div>' . $post_excerpt;

    return $post_excerpt;
}

因此,您将在之前和之后(如果存在简短描述)获得您的消息简短说明…

您可以在活动主题style.css文件中为其定位样式选择器.product-message,例如这样:

.product-message {
    background-color:#eee;
    border: solid 1px #666;
    padding: 10px;
}

您需要编写自己的样式规则以获得它.

标签:php,wordpress,woocommerce,product,hook-woocommerce
来源: https://codeday.me/bug/20191007/1866403.html