タームに対してメタデータを一括で登録する方法を紹介します。大量のタームに同じメタデータを追加したい場合や、デフォルトのメタデータを事前設定しておきたいときに役立つコードです。
SEO SIMPLE PACKを利用した方法です。
目次
解説
WordPressでは、各タームにメタデータを追加することで、SEO情報や表示用のカスタムデータを持たせることが可能です。しかし、個別に登録すると手間がかかるため、一括でメタデータを追加・更新する関数を作成します。これにより、メタデータを効率的に管理できます。
function update_all_{カスタムタクソノミー名}_terms_meta() {
// タクソノミー 'カスタムタクソノミー名' のタームを取得
$terms = get_terms([
'taxonomy' => 'カスタムタクソノミー名',
'hide_empty' => false,
]);
// タームが取得できた場合、各タームに対してメタ情報を更新
if (!empty($terms) && !is_wp_error($terms)) {
foreach ($terms as $term) {
// タームメタ情報を更新
update_term_meta($term->term_id, 'swell_term_meta_ttlpos', 'top');
update_term_meta($term->term_id, 'swell_term_meta_image', '{画像URL}');
}
}
}
// フックまたは一時的な実行用
add_action('init', 'update_all_{カスタムタクソノミー名}_terms_meta');
get_terms()
: 特定のタクソノミーからすべてのタームを取得します。この際、hide_empty
パラメータをfalse
に設定し、空のタームも取得対象にします。foreach
ループ: 取得したすべてのタームに対して処理を実行し、各タームのIDに応じてメタデータを追加します。update_term_meta()
: 各タームのIDを指定し、複数のメタデータを設定します。
ここでは、swell_term_meta_ttlpos
にtop
、swell_term_meta_image
に特定の画像URLを設定しています。
難易度
基本的なPHPの知識とWordPressのターム関連関数を理解しているとスムーズに実装できますが、メタデータやカスタムタクソノミーの概念に慣れていない場合にはやや難易度が上がります。また、関数を一時的に実行するためのフックの設定や実行の確認が必要です。
使用しているタグ
get_terms()
update_term_meta()
実行後の注意点
このコードは実行が完了したら remove_action('init', 'update_all_wp_tag_terms_meta');
を追加して削除するか、コード自体を消去してください。
Q&A
まとめ
WordPressでタームのメタデータを一括で登録する方法について紹介しました。このカスタマイズにより、メタデータの登録や更新が効率的に行えます。大量のタームや特定のデータが必要な場合、非常に役立ちます。
コメント