WordPress 個人的 逆引き関数リファレンス
トップページへ
※ワードプレスで記事を書いているだけの方には全く不要の記事です。
※PHP(楽天市場で探す ・ amazonで探す)の基礎知識があり、WordPress内で自作のプログラムを動かしい方で、内容は「初心者向け」です。理由は当方が初心者だからです。ですので、使用したことのない関数、高度な関数は掲載していません。あしからずご了承下さい。
※逆引き、つまり「したいこと」から関数を探す一覧です。
過去にはWordPress Codex 日本語版へリンクしていましたが、閉鎖されたのでリンクを除去しました。ですが関数一覧として残します。
※当然のことですが、WordPress内だけで動作します。また、ループ内、ループ外など関数ごとに使用制限があります。
※参考にされるのはありがたいですが、読者様で実行した結果について当方はすべての責任を負いかねます。とくにWordPress内の phpファイル を変更する場合は、事前にバックアップすることを強くオススメします。修正を間違えると WordPressの再インストールが必要です。
また、WordPressのデータベースを直接操作するようなプログラムの場合、処理を間違えると、再起不能になります。さらに、phpMyadminなどでデータベースの値を直接、変更する行為はオススメしません。データベース内の関連性がくずれる可能性がありますし、当方は実際に体験し復帰までに数日を要しました。
現在の記事の番号を知りたい→ get_the_ID(), the_ID()
値として使用する場合は get_the_ID()、echo不要ですぐに表示する場合は the_ID()
サイトのURLを表示する→get_site_url(), get_option(‘siteurl’)
サイト名を表示する→get_bloginfo(‘name’), get_option(‘blogname’)
記事のタイトルを表示する→get_the_title()、more / 前後テキスト制御あり the_title()
記事の投稿URL(パーマリンク)を知りたい→get_permalink(), the_permalink()
記事のアイキャッチ画像(サムネイル画像)を取得→get_the_post_thumbnail()
例 get_the_post_thumbnail( 投稿ID, array(120,120) )
記事の投稿日が知りたい→get_the_date()
※get_the_date(‘c’)とすれば、ISO 8601日付(例 2021-11-13T18:29:21+09:00)となる
記事の修正日(更新日)が知りたい→get_the_modified_date()
現在の記事の前記事、次記事
get_previous_post()
get_next_post()
現在の記事が個別記事かどうか→is_single()
現在の記事が固定記事かどうか→is_page()
現在の記事がフロントページかどうか→is_front_page()
カテゴリーページかどうか→is_category()
検索結果のページかどうか→is_search()
アーカイブページかどうか→is_archive()
添付画像だけのページかどうか→is_attachment()
記事が所属するカテゴリー名の取得→get_the_category()
※ただしカテゴリ名を表示するには別途処理が必要。
下記のサンプル
is_single() が必須ですが、個別記事ならカテゴリの配列を取得し、最初のカテゴリ($category[0])のterm_idプロパティを指定することで、カテゴリ番号を取得できました。なお固定ページだとエラーになります。
if( is_single() ){ $category = get_the_category(); switch ( $category[0]->term_id ){ case 1: case 3:
カテゴリー名からカテゴリーIDを取得→get_cat_ID()
カテゴリーIDからカテゴリーのURLを取得→get_category_link()
取得したタクソノミーIDがカテゴリか?単なるタグか?の判定をしたい→in_category()
カテゴリーなどの説明文→tag_description()
記事のショートリンク(例 /?p=1234)が知りたい→the_shortlink()
※ただし用途は少ないと思われる。
表示中の記事の詳細→WP Post
※get_post() など。ただし使用には学習が必要。
※post_author, post_author, post_title, post_typeなど
WordPress内からSQLを実行する→wpdb Class
→テーブル名一覧
私が使用したことのある関数 get_var、get_results、get_row
prepare
SELECT Generic Results→英語サイトの「get_results」
get_varの戻り値は1個なので判定で対応。eg. if ( !=”” )
ge_resultsの戻り値は複数なのでループで対応。eg. foreach( as )
Q. 独自の変数を global でグローバル変数として定義したのに空だった(WordPress専用のグローバル変数のことではありません)
A. 原因不明。
ただテーマ「Vanilla Milkshake」では content.php では「空」でしたが、single.phpでは維持されていたので、テーマ内の呼び出し順, ループの内外、宣言と参照の位置関係、他のテーマでは問題ない、など様々な要因で「空」になる可能性があるため、「通常のPHPではグローバルになってもWordPressではグローバルにならない場合がある」と、個人的に決めました。
Q. エラー Fatal error: Uncaught Error: Cannot use object of type stdClass as array が出た
A. 一例
連想配列($mylink[‘name’])を参照しているのに、get_rowでオプションの指定を忘れた
誤
$mylink = $wpdb->get_row( $wpdb->prepare($w_sql_sel, $w_key ) );
正
$mylink = $wpdb->get_row( $wpdb->prepare($w_sql_sel, $w_key ), ARRAY_A );