2011-02-05 36 views
1

投稿にメタキーとメタ値を含む新しいカスタムフィールドを追加します。WordPressのカスタムフィールドを自動的に挿入します

現在、投稿に追加される唯一の方法は、投稿に行き、[更新]をクリックすることです。
私はたくさんの投稿を持ち、基本的にこのカスタムフィールドを、割り当てられたメタ値を持つすべての投稿に自動的に追加します。

このメタ値は投稿ごとに異なります。

+0

、あなたの問題をよりよく説明してください?どのメタ値を挿入しますか?それは自動的に計算できるものですか? – keatch

+0

私はカスタムフィールドに文字列を挿入しています。このテキストは投稿ごとに異なります。ユーザーはこのカスタムフィールドを編集できません。カスタムフィールド経由で投稿にテキストを挿入する理由は、私が使っている検索システムで検索できることです。私はすべての投稿を大量に更新したい(または私が作成したカスタム投稿タイプをより正確にしたい)ので、既存の各投稿を手動で更新/保存せずにすべての投稿にカスタムフィールドを挿入します。 – GhostPool

+0

こんにちは、あなたはこれのための解決策を見つけましたか?私はこれも必要で、おそらく何かを自動化する必要があります。ありがとう – gdinari

答えて

2

私はこれが役に立ったと評価してい:http://www.catswhocode.com/blog/wordpress-how-to-insert-data-programmatically

function add_custom_field_automatically($post_ID) { 
global $wpdb; 
if(!wp_is_post_revision($post_ID)) { 
    add_post_meta($post_ID, 'field-name', 'custom value', true); 
} 
} 
add_action('publish_page', 'add_custom_field_automatically'); 
add_action('publish_post', 'add_custom_field_automatically'); 

これは、$ post_idの中に「フィールド名」に「カスタム値を」を追加します。

0

私は右の方法のような、」save_post'hookを使用していると思わ:

function cwp_add_custom_post_meta($post_id, $post){ 
global $wpdb; 
$post_cat_id=get_the_terms($post_id, 'category'); 
$post_cat_id=cwp_object_to_array($post_cat_id); 
$post_cat_id=$post_cat_id['0'] ["term_id"]; 
$display_voting = get_tax_meta($post_cat_id,'cwp_display_voting'); 
if(!wp_is_post_revision($post_id)) 
    update_post_meta($post_id,'display_voting', $display_voting); 
} 
add_action('save_post', 'cwp_add_custom_post_meta', 10, 2); 
関連する問題