お世話になります。
自分なりに色々調べて考えてみたのですが、まったく分からないのでアドバイスをください。
WordPressで画像をアップロードする際にmeta_keyにwidth、heightを付与してmeta_valueに画像サイズを自動登録しています。
また、タクソノミーを使用して画像をカテゴリ分けしているのですが、このmeta_valueの値を利用して画像アップロード時に
特定の高さの画像だけ特定のカテゴリに自動登録させたいと考えています。
もう少し具体的には、高さが800pxの画像は全てカテゴリAに自動登録するような寸法です。
そもそも、画像をアップロードする際にそのような事が可能かどうかも分からない状態なのですが、
画像アップロード時にそのような動作が可能なフィルターフック等があればお教えください。
また、参考になるようなサイト等があれば併せてお願いします。
以上、よろしくお願い致します。
追記です。
投稿時のサイズの登録は以下のようにしています。
function add_media_meta($meta, $post_id){ update_post_meta($post_id, 'height', (int) $meta['height']); update_post_meta($post_id, 'width', (int) $meta['width']); return $meta; } add_filter('wp_generate_attachment_metadata', 'add_media_meta', 10, 2);
この方法では調べた限りでは term_taxonomy_id等は扱えないようですね?
そこで別途考えてみたのが以下ですが
function hogehoge($post_id) { $meta_height = $_POST[height]; if(!empty($_POST['publish']) && $meta_height == 800){ $post_id = wp_set_object_terms( $post_id, 37, 'attachment_category', true ); } } add_action('save_post', 'hogehoge');
まったく思い通りに動きません(;^_^A
分からないなりに考えたのが
投稿時に height が 800 の meta_value があれば 画像の term_id 及び term_taxonomy_id に 37 をセットする、
なんですが、何か違うようです。
以下であれば投稿時に画像サイズは無関係でID37がセットされましたが、趣旨が違うのですよね…
function add_media_term($post_id){ wp_set_object_terms($post_id, 37, 'attachment_category', true); } add_action('add_attachment', 'add_media_term', 99, 1);
回答1件
あなたの回答
tips
プレビュー