我正在尝试为包含帖子摘要的所有帖子添加自定义字段。我创建了一个名为“post-summary”的自定义字段。我想要做的是自动为此自定义字段分配值。
<?php
$value = somefunction($content);
add_post_meta( {{current post id}} , 'post-summary', $value , true ) || update_post_meta( {{current post id}} , 'post-summary', $value );
如何在发布新帖子时应用此功能?
答案 0 :(得分:0)
使用基本为wp_insert_post的save_post挂钩,该挂钩仅在首次创建帖子时触发。并且update_post_meta实际上会添加自定义字段值,您不需要先添加add_post_meta。
add_action( 'wp_insert_post', 'set_your_default_summary' );
function set_your_default_summary( $post_id ) {
// Check to make sure this post is for the right post type
if( 'your_post_type' == get_post_type( $post_id ) ) {
$post = get_post($post_id);
$value = somefunction($post->post_content);
// Make sure this isn't just a revision auto-saving
if( !wp_is_post_revision( $post_id ) ) {
update_post_meta( $post_id, 'post_summary', $value );
}
return $post_id;
}
}