Автоматически вставлять настраиваемое поле WordPress - PullRequest
1 голос
/ 05 февраля 2011

Я хочу добавить новое настраиваемое поле с мета-ключом и мета-значением к своим сообщениям.

В настоящее время он добавляется в сообщение только в том случае, если я захожу в сообщение и нажимаю Обновить.
У меня много постов, и я хочу, чтобы это настраиваемое поле автоматически добавлялось во все посты с назначенным мета-значением.

Это мета-значение отличается для каждого сообщения.

Ответы [ 2 ]

2 голосов
/ 18 ноября 2011

Я нашел это полезным: 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');

Это добавит «пользовательское значение» к «field-name» в $ post_ID.

0 голосов
/ 02 мая 2014

Я думаю, что правильный метод использует крюк save_post, такой как:

  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 );
...