Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用ACF字段更改WooCommerce产品简短描述_Php_Woocommerce_Product_Advanced Custom Fields_Hook Woocommerce - Fatal编程技术网

Php 使用ACF字段更改WooCommerce产品简短描述

Php 使用ACF字段更改WooCommerce产品简短描述,php,woocommerce,product,advanced-custom-fields,hook-woocommerce,Php,Woocommerce,Product,Advanced Custom Fields,Hook Woocommerce,我试图在Woocommerce中的产品简短描述之后添加一个ACF WYSIWYG字段。我在functions.php中添加了以下内容,但它在分类页面上也显示了ACF字段 add_filter('woocommerce_short_description','ts_add_text_short_descr'); function ts_add_text_short_descr($description){ if (get_field('extra_short_description')) {

我试图在Woocommerce中的产品简短描述之后添加一个ACF WYSIWYG字段。我在functions.php中添加了以下内容,但它在分类页面上也显示了ACF字段

add_filter('woocommerce_short_description','ts_add_text_short_descr');
function ts_add_text_short_descr($description){

if (get_field('extra_short_description')) { 
$extra_desc = get_field( 'extra_short_description' );
return $extra_desc;
}
}
然后我偶然发现了另一个建议的代码,它可以工作,但是如果一个产品没有定制的ACF字段,那么它就会像缺少一个div一样崩溃:

add_action( 'woocommerce_single_product_summary', 'custom_single_product_summary', 2 );
function custom_single_product_summary(){
global $product;
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_excerpt', 20 );
add_action( 'woocommerce_product_meta_start', 'custom_single_excerpt', 20 );
}

function custom_single_excerpt(){
global $post, $product;
$short_description = apply_filters( 'woocommerce_short_description', $post->post_excerpt );
if ( ! $short_description )   
return ;

if (get_field('extra_short_description'))
$extra_desc = get_field( 'extra_short_description' );

?>
<div class="woocommerce-product-details__short-description">
    <?php echo $short_description .$extra_desc; ?>
</div>
<?php
} 
add_action('woocommerce_single_product_summary','custom_single_product_summary',2);
功能自定义\单产品\汇总(){
全球$产品;
删除行动(“woocommerce单品摘要”、“woocommerce模板单品摘录”,20);
添加动作('woocommerce\u product\u meta\u start'、'custom\u single\u摘录',20);
}
函数自定义_单个_摘录(){
全球$post$product;
$short\u description=apply\u过滤器('woocommerce\u short\u description',$post->post\u摘录);
如果(!$short\u说明)
返回;
if(获取字段(‘额外\简短\描述’)
$extra_desc=获取_字段('extra_short_description');
?>

已更新

您的第一个函数代码应该如下所示:

add_filter('woocommerce_short_description','ts_add_text_short_descr');
函数ts_add_text_short_descr($short_description){
全球$员额;
$extra_short_description=get_字段('extra_short_description');
如果(!空($extra\u short\u description)){
$short\u description.=$extra\u short\u description;
}
返回$short\u description;
}
那么您的其他功能应该如下所示:

add_action('woocommerce_single_product_summary','custom_single_product_summary',2);
功能自定义\单产品\汇总(){
全球$产品;
删除行动(“woocommerce单品摘要”、“woocommerce模板单品摘录”,20);
添加行动('woocommerce\u single\u product\u summary'、'custom\u single\u摘录',35);
}
函数自定义_单个_摘录(){
全球$post$product;
$short\u description=apply\u过滤器('woocommerce\u short\u description',$post->post\u摘录);
$extra_short_description=get_字段(“extra_short_description”);
如果(!空($extra\u short\u description)){
$short\u description.=$extra\u short\u description;
}
如果(!empty($short_description)):
?>

第一个功能不起作用,但第二个起作用了。非常感谢。