スラッグと投稿タイプから投稿オブジェクトを取得
- 2019.09.12
- slug
今回はWordPressでスラッグと投稿タイプから投稿オブジェクトを取得します。 投稿タイプの部分は配列でも指定できます。 また、第2引数の指定次第で戻り値のタイプを変更できます。 該当するものがない場合はnullが戻ってきます。 コード <?php // 単一の投稿を取得するサンプル $slug = 'slug'; $post_type = 'post_typ […]
自由を追い求めるブログ
今回はWordPressでスラッグと投稿タイプから投稿オブジェクトを取得します。 投稿タイプの部分は配列でも指定できます。 また、第2引数の指定次第で戻り値のタイプを変更できます。 該当するものがない場合はnullが戻ってきます。 コード <?php // 単一の投稿を取得するサンプル $slug = 'slug'; $post_type = 'post_typ […]
今回はWordPressで投稿に紐づいたタームをタクソノミー名と投稿IDから取得します。 戻り値は(配列|false|WP_Error)のどれかです。 コード <?php $id = get_the_ID(); $tax_name = 'taxonomy_name'; $terms = get_the_terms($id, $tax_name); if ($terms) […]
WordPressで記事を取得する方法はいくつかありますが、取得するときには毎回DBに問い合わせるため無駄な問い合わせはできる限り減らしたほうがいいです。 よくnew WP_Query()で記事を取得したりしますが、その場合URLがリクエストされたときとテンプレートファイル内でWP_Query()を呼び出したときの合計2回のDBへの問い合わせが発生していることになります。 今回は'pre_get_ […]
WP_Queryで記事を取得してきたときに、ループ終了後に呪文のように書いているwp_reset_postdata()という関数があります。 さらに、この関数に似ている名前のwp_reset_query()という関数もあり、どっちを使うのかわからなくなってしまう時があります。 この記事ではどちらの関数を使うのが正解か、さらにそれぞれの関数が何をしているのか調べてみました。 結論 まず結論からいうと […]
WordPressで記事を取得するときにカスタムフィールドの値で並び替えたいときがあります。 以下のコードでソートをすることができます。 コード <?php $args = array( 'post_type' => 'my_custom_post_type', 'meta_key' => 'age' […]
WordPressには子テーマという機能があります。 一からテーマを作ることはよくありましたが、子テーマを使ってサイトを作成したことはなかったので、今回は子テーマで何ができるのか、どうやって子テーマを使うのかを調べてみました。 ※ ここに出てくるコードはCodexの以下のページのものです。 子テーマ 短めに結論 できることは以下のこと cssの追加・親テーマのcssの削除 functions.ph […]
WordPressで特定サイズの画像urlだけ取得したいときのコードの一例です。 例ではACFで画像のIDを取得した場合のコードを記述しています。 コード $image_id = get_field('image'); if ( $image_id ) { $size = 'large'; $image = wp_get_attachment_image_s […]
はじめに WordPressの管理画面で記事一覧を表示したときに、タームの値を表示したい場合があります。 以下のコードでタームの値を表示することができます。 また、タームの部分を変更すればどのような値でも表示することができます。 コード // 表示するカラムの順番を変えたいとき function my_add_columns($columns) { $ordered_columns = []; f […]
function my_posts_where_wildcard( $where, $query ) { if ( $query->get( 'wildcard_meta_key' ) ) { $where = str_replace( 'meta_key =', 'meta_key LIKE', $where ); } retur […]
ACFの値の取得重要なやつだけ <?php // 通常 $title = get_field('title'); // 繰り返しフィールド $arr = []; if (have_rows('cats_info')) { while (have_rows('cats_info')) { the_row(); $arr[] = get_sub_field('name'); } } // グルー […]