ACFフィールドで自分の動画にサムネイルを追加しようとしています。そのため、私はいくつかのPHPを探しています。これはビデオの特集画像を追加/更新します([添付ファイルの詳細]画面)。私はACFフォーラムからこのコードをテストしましたが、うまくいかないようです
// Set the first sock image uploaded as the featured image
function acf_set_featured_image( $value, $post_id, $field ){
if($value != ''){
delete_post_thumbnail( $post_id);
//Add the value which is the image ID to the _thumbnail_id meta data for the current post
add_post_meta($post_id, '_thumbnail_id', $value);
}
return $value;
}
// acf/update_value/name={$field_name} - filter for a specific field based on it's name
add_filter('acf/update_value/name=video_thumbnail', 'acf_set_featured_image', 10, 3);
//field name: video_thumbnail
更新: /私はそのようなばかげている... - 私は間違ったfunction.phpを編集しているので、上のコードは問題ない。 :|
注:既存の画像を編集するためにこの行を追加しました。
delete_post_thumbnail( $post_id);
このコードは、キーname
を更新したときに発生します。
File: wp-content/plugins/advanced-custom-fields/core/fields/_functions.php
193: foreach( array('key', 'name', 'type') as $key )
194: {
195: // run filters
196: $value = apply_filters('acf/update_value/' . $key . '=' . $field[ $key ], $value, $post_id, $field); // new filter
197: }
試してみてください。$ value、$ post_id、$ fieldを印刷して、自分の持っているものを理解してください。ラベルが間違っている可能性があります。
function acf_set_featured_image( $value, $post_id, $field ){
// print $value, $post_id, $field to understand what you have...
print_r(...);
wp_die();
if($value != ''){
//Add the value which is the image ID to the _thumbnail_id meta data for the current post
add_post_meta($post_id, '_thumbnail_id', $value);
}
return $value;
}
// acf/update_value/name={$field_name} - filter for a specific field based on it's name
add_filter('acf/update_value/name=video_thumbnail', 'acf_set_featured_image', 10, 3);