以编程方式在POST保存后添加Yoast元描述

时间:2019-07-11 作者:Oni-Link

我正在构建一个网站,我需要在保存帖子(在我的情况下是自定义帖子类型)后以编程方式添加Yoast描述。

现在,由于我正在使用高级自定义字段,并且还需要以编程方式填充一些自定义字段,所以我在函数中创建了一个函数。php,并以这种方式命名:

add_action( \'acf/save_post\', \'atc_set_element_intro\', 20 );
。。。因此,每次保存一个帖子时,它都会被触发。这是功能:

function atc_set_element_intro( $post_id ){
  if( get_post_type( $post_id ) == \'giochi\' ){

    // [CUT]
    // Here I generate the strings ($intro and $intro_y) to fill the custom fields with 

    update_field( \'field_5d0be8f40addf\', $intro, $post_id );
    update_post_meta( $post_id, \'_yoast_wpseo_metadesc\', $intro_y );
  } else {
    return;
  } 
}
现在,“update\\u字段”工作得非常好,它在我选择的自定义字段上添加了一个值。“update\\u post\\u meta”不起作用,除非在它之后添加die()或wp\\u die()。在这种情况下,我在保存时看到一个空白屏幕,然后查看我的帖子,我看到它添加了我想要的最新描述。但我当然不能死在这个函数上。

我想在执行该函数之后,会有某种东西重写了Yoast的描述。我能做些什么来防止这种情况?非常感谢。

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

经过几天的努力,我终于自己修好了。

我没有使用update\\u post\\u meta,而是这样做:

$_POST[ "yoast_wpseo_metadesc" ] = $intro_y;
它工作得很好。

希望这能帮助别人。

相关推荐

Div-Wrap with Functions.php in ChildTheme Using Shorcode!

我只想为一个简单样式的DIV包装器创建一个短代码。在WordPress的网站上,我想添加如下内容:[quotehead]Headline text[/quotehead] ...a normal blockquote from wordpress... 输出应为:<div class=\"block_header\">Headline text</div> 我的内部功能functions.php (在childtheme中)包含以下内容:/**