0

我正在尝试向包含帖子摘要的所有帖子添加自定义字段。我创建了一个名为“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 ); 

每当发布新帖子时如何应用它?

4

1 回答 1

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;
    }
}
于 2013-07-17T04:59:17.957 回答