在解决这个问题的过程中,我发现great resource for wordpress hooks 找到了合适的人选wpseo_saved_postdata
here. 如果您认为代码可能更好,请随意修改。就目前而言,这对我很有效。
function set_noidex_when_sticky($post_id){
if ( wp_is_post_revision( $post_id ) ) return;
//perform other checks
//if(is_sticky($post_id)){ -----> this may work only AFTER the post is set to sticky
if (isset($_POST[\'sticky\']) == \'sticky\') { //this will work if the post IS BEING SET ticky
add_action( \'wpseo_saved_postdata\', function() use ( $post_id ) {
update_post_meta( $post_id, \'_yoast_wpseo_meta-robots-noindex\', \'1\' );
}, 999 );
}
}
add_action( \'save_post\', \'set_noidex_when_sticky\' );
仅限
_yoast_wpseo_meta-robots-noindex
是我想要改变的元。下面是yoast的一些元键,如果您想使用代码进行任何更改。
_yoast_wpseo_google-plus-description
_yoast_wpseo_linkdex
_yoast_wpseo_opengraph-description
_yoast_wpseo_redirect
_yoast_wpseo_canonical
_yoast_wpseo_sitemap-html-include
_yoast_wpseo_sitemap-prio
_yoast_wpseo_sitemap-include
_yoast_wpseo_meta-robots-adv
_yoast_wpseo_meta-robots-nofollow
_yoast_wpseo_meta-robots-noindex
_yoast_wpseo_metadesc
_yoast_wpseo_title