かもメモ

自分の落ちた落とし穴に何度も落ちる人のメモ帳

WordPress

WordPress 管理画面 固定ページ一覧にスラッグとテンプレート名を表示させたい

WordPressでWEBサイトを作る際に特定のページを作成するために固定ページのテンプレートを作成したりする事があります。 ただテンプレートの選択やページのURLの指定はWordPressの管理画面から行うので、テスト環境と本番環境があるような場合、本番環境でテ…

WordPress 投稿が0件でもpost_typeを取得したい。

WordPressで今のページのpost_typeを取得したい時、投稿が0件だと get_post_type() は false になってしまい上手く取得できない。get_query_var( 'post_type' ) を使えば投稿が0件でもpost_typeを取得することができる。

WordPress テンプレートをまたいで使えるグローバル変数を作りたい。

header.phpやfooter.phpなど別れているテンプレートで共通の表示や値を使いたい時、ハードコーディンしてると修正があった時面倒とか、管理画面から入力された値を使って出力したい場合、共通の変数にしてテンプレートで使いまわせると便利かもしれません。 …

WordPress ページを使用しているテンプレートから取得したい

固定ページを取得したい時、ページ名が決まりきっているならget_page_by_title( $page_title )を使うのが手っ取り早いです。( get_page( $page_ID ) はテスト環境・本番環境で制作してると両者でIDが違ったりするので使いづらい ) しかしながら、get_page_by…

WordPress 4.7, 4.7.1 はAPIに致命的なバグがあって認証無しで誰でも記事を改ざんできちゃうっぽい!

WordPress 4.7, 4.7.1 のサイトは直ぐに4.7.2にアップデートするのです! Twitterで大学や国会議員や公的機関のサイトが大量に改ざんされてるという情報を朝から目にした日でした。 どうやら改ざんされていたのはWordPressのサイトの様で、事の顛末は、 Word…

WordPress 管理画面のベーシック認証が効かなくなった時のメモ

WordPressを設置する時に少しでもセキュリティを高めるために管理画面やログイン画面にベーシック認証をかけています。 ファイル構成 / |- .htaccess |- /wp | |- .htaccess | |- .htpasswd | |- /wp-admin |- index.php WordPressはwpディレクトリ内に置き…

WordPress サイトのフロントページにしている固定ページを動的に取得したい

WordPressで企業サイトなどを作っている時に固定ページをフロントページ(サイトトップ)に設定する事も多いと思います。 かなりレアケースな気もしますが、フロントページに設定しているページオブジェクトやページIDが必要になるテーマを作成する時のメモ。 …

WordPress ContactForm7 フォーム送信時に送信確認のチェックをリセットしたい

ContactForm7は送信前の確認したかのチェックボックスを設置することができます。 ただ、フォームを送信した後、エラーの有無にかかわらず送信確認がチェックされたままで、送信ボタンを押すことができる状態になったままになっています。 そこで、ContactFo…

WordPress ContactForm7 フォーム送信時に任意のjsを実行したい。

管理画面から WordPressの管理画面 > コンタクトフォームの編集画面 > その他の設定 を選択して、記入エリアにon_sent_ok:(送信完了時)、on_submit:(送信された時常に) のキーワードに続けて実行したいjavascriptのコードをテキスト形式で記述する。 on_sent…

WordPress タクソノミー名によっては予約語でなくてもアーカイブページに投稿が表示されないことがあるっぽい

遥か昔、100億年ほど前に作っていたテーマを使用していたサイトで突然アーカイブページに何も表示されなくなったと連絡がありました。ブラウザの表示でなければ、何もして無ければ変化が起こるはずがないので、何を変更したか訊いたところ「WordPressとプラ…

WordPress アイキャッチの画像のIDを取得したい。

WordPressに投稿された画像を表示する際にsizesやsrcset属性を変更したい時は、画像を返す関数では実現できないので、画像IDから自分で画像パスなどを取得してimgタグを作る必要があります。 アイキャッチ(サムネイル)の画像IDを取得するにはget_post_thumbn…

WordPress 4.4 Responsive Images の size の値を変更したい。

WordPress 4.4 以降では、管理画面からアップロードされた画像を表示させる時に、wp_get_attachment_image()とかget_the_post_thumbnail()とかの関数を使ってimgタグを出力すると、自動的にsrcsetとsize属性がつくようになりました。 例えば、580px x 166px …

WordPress カスタム投稿 taxonomyアーカイブページのterm取得したい。

WprdPress独特の言い回しなのでしょうか?このtaxonomyとtermが何なのかよく分からなくなってしまいます。 taxonomy は「投稿 (post )」で言うところのカテゴリー term は「投稿 (post )」で言うところのカテゴリーに追加した1つ1つのカテゴリー カテゴリー …

PHP count(false)は1になる。

WordPressの関数などで、wp_get_attachment_image_srcなど、存在すれば配列が、存在しない時はfalseが返ってくようなものがあります。このような関数を使っている所で、返ってきた値の有無を確認するのにcount()を使っていると予期しないバグを発生させてし…

WordPress メディアのaltを取得したい。

投稿のサムネイルなど、管理画面のメディアに登録されている画像のalt属性を取得する方法。 get_post_meta() 関数で取得できる。 _wp_attachment_image_altをキーにして取得することができる。

WordPress 特定の固定ページを保存時に処理を実行したい。

あるページテンプレートを使用している固定ページを保存した時に、その固定ページで使用しているキャッシュを消すなどの処理をしたい時とか。 投稿(post)も・固定ページ(page)も保存時は save_post アクションフックが呼び出される。 save_post インポート機…

WordPress 個別記事をpost_typeで判定をしたい。

例えば通常の投稿(post)の個別記事か判定したいような時。 is_single() ではpost_typeの判別はできない。

WordPress Contact Form 7 フォームの検証のエラーを解決したい。

WordPress定番のメールフォームプラグインContact Form 7がバージョン4.4になりフォームの検証ができるようになりました。 今まで使っていたフォームを検証した所いろいろエラーが表示されていたのでエラーを解消したメモです。 入力必須でない項目がメール…

もっと簡単版!WordPress 投稿の並び順の条件(orderby)を複数にして、それぞれの並べ方(order)を別々に指定したい。

以前、pre_get_posts内で独自の値を$wp_queryにセットしてorderbyを複数にして、それぞれ別のorderにする方法を書いていました。 最近検索していたら、実はもっと簡単に実装できたことが判明しました。 orderbyに配列で条件と並べ方を渡すことができた! 以…

CSS内でPHPの変数を使いたい。

例えばWordPressのプラグインなんかを作っていて、CSSで変数を使いたいなんて時があります。 読み込みをPHPファイルにする。 まずはCSSファイルの拡張子を.phpにして、CSSを読み込ませていた部分をPHPのファイルに変更します。 HTMLならこんな感じ。 <link rel="stylesheet" type="text/css" href="sample.php" /> WordPr</link>…

Wordpress 記事を属性 順序( menu_order ) の順番に並べたい 順序が同じものがあっても大丈夫版

以前にWordPressの投稿をmenu_orderの順番に並べて表示させる方法を書いていました。 一覧表示・管理画面の一覧をmenu_order順にするまでは良かったのですが、個別ページ(single.php)などで前後の投稿へのリンク(previous_post_link, next_post_link)の表示…

WordPress 投稿のカテゴリーをラジオボタンにカスタマイズしたら、クイック編集でカテゴリーがチェックされなくなったので。

ちょっと古い記事なのですが、LIGさんの解決!WordPress投稿画面のカテゴリーをカスタマイズする方法という記事を参考に投稿のカテゴリーを複数選択できないようにラジオボタンに変更しました。 記事に掲載されているコードの通りに行うことでカテゴリー選択…

WordPress 投稿の並び順の条件(orderby)を複数にして、それぞれの並べ方(order)を別々に指定したい。

※ もっと簡単に実装できる方法がありました! 追記 2015 12/25 前回WordPressの投稿の並び替え条件(orderby)を複数にする方法を書きました。 しかし、この方法ではorderbyを複数にすることはできましたが、それぞれの条件で並べ方(order)を指定することはで…

WordPress 投稿の並び順の指定を複数にしたい。

WordPressで投稿の並び順を操作する時 まずは、カスタムフィールドの値で並べて カスタムフィールドの値が同じだったら投稿日順に並べる のように並び替えの条件を複数使いたい時があったのでメモ。 投稿に発売日を入力するrelease_timeというカスタムフィー…

Wordpress 固定ページのslug(URL)とカスタム投稿タイプ名が被ってるとどうなるか調べてみた。

既存のプロジェクトに途中参加した際の出来事です。 新しいカテゴリーのページを追加したいということでカスタム投稿タイプを作成したのですが、既存のページのレイアウトが変わってしまっていると連絡をもらってしまいました。調べた所このプロジェクトでは…

WordPress 固定ページでもWP-PageNaviプラグインをつかいたい。

固定ページにサブクエリを使って投稿を表示させ、WP-PageNaviプラグインでページ送りを表示させる方法のめも。 固定ページのテンプレートにただプラグインを表示させるコードif(function_exists('wp_pagenavi')){wp_pagenavi();}を書いてもナビゲーションは…

WordPress カスタム投稿タイプかどうか判別したい。

is_archive()とかの分岐をカスタム投稿タイプでしたい時の書き方 アーカイブページ is_post_type_archive( $post_type ) を使う

WordPress Custom Metaboxes and Fields for WordPress 他の投稿が選択できるセレクトボックスを作った。

コードベースでカスタムフィールドが作れるWordPressのプラグイン「Custom Metaboxes and Fields for WordPress」が超便利なので使っています。 ▼ 以前の記事 ▼ textareaやcheckboxなど色々なフィールドがコードベースで作ることができるのですが、カスタム…

WordPress WP Social Bookmarking Light を好きなところに表示させたい。

WP Social Bookmarking Lightは管理画面から表示させたいソーシャルブックマークを選ぶだけで簡単にショーシャルブックマークのボタンを設置できるWordPressのプラグインです。 WP Social Bookmarking Light 簡単に使えるように管理画面の設定でブックマーク…

Wordpress 二重認証をしたgmailをメールに使う方法。

wordpressで使うメールをgmailにしたい時、管理画面の設定>メールのSMTP設定を SMTP Hostsmtp.gmail.com SMTP Port465 EncryptionSSLを使用する。 Authenticationはい: SMTP認証を使用します。 Usernamexxxxxx@gmail.com (メールアドレス) PasswordGmailの…