2013-07-16 70 views
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); 

如何在發佈新帖子時應用此功能?

回答

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; 
    } 
} 
+0

代碼不工作:( –

+0

什麼是你得到的錯誤。我複製並粘貼該權利在哪裏它目前正在我functions.php文件中。 – mdelorey

+0

它不顯示,因爲任何錯誤我使用MAMP在本地開發,但它返回一個致命錯誤,因爲一切都停止工作! –

相關問題