WordPress
WordPressでWEBサイトを作る際に特定のページを作成するために固定ページのテンプレートを作成したりする事があります。 ただテンプレートの選択やページのURLの指定はWordPressの管理画面から行うので、テスト環境と本番環境があるような場合、本番環境でテ…
WordPressで今のページのpost_typeを取得したい時、投稿が0件だと get_post_type() は false になってしまい上手く取得できない。get_query_var( 'post_type' ) を使えば投稿が0件でもpost_typeを取得することができる。
header.phpやfooter.phpなど別れているテンプレートで共通の表示や値を使いたい時、ハードコーディンしてると修正があった時面倒とか、管理画面から入力された値を使って出力したい場合、共通の変数にしてテンプレートで使いまわせると便利かもしれません。 …
固定ページを取得したい時、ページ名が決まりきっているならget_page_by_title( $page_title )を使うのが手っ取り早いです。( get_page( $page_ID ) はテスト環境・本番環境で制作してると両者でIDが違ったりするので使いづらい ) しかしながら、get_page_by…
WordPress 4.7, 4.7.1 のサイトは直ぐに4.7.2にアップデートするのです! Twitterで大学や国会議員や公的機関のサイトが大量に改ざんされてるという情報を朝から目にした日でした。 どうやら改ざんされていたのはWordPressのサイトの様で、事の顛末は、 Word…
WordPressを設置する時に少しでもセキュリティを高めるために管理画面やログイン画面にベーシック認証をかけています。 ファイル構成 / |- .htaccess |- /wp | |- .htaccess | |- .htpasswd | |- /wp-admin |- index.php WordPressはwpディレクトリ内に置き…
WordPressで企業サイトなどを作っている時に固定ページをフロントページ(サイトトップ)に設定する事も多いと思います。 かなりレアケースな気もしますが、フロントページに設定しているページオブジェクトやページIDが必要になるテーマを作成する時のメモ。 …
ContactForm7は送信前の確認したかのチェックボックスを設置することができます。 ただ、フォームを送信した後、エラーの有無にかかわらず送信確認がチェックされたままで、送信ボタンを押すことができる状態になったままになっています。 そこで、ContactFo…
管理画面から WordPressの管理画面 > コンタクトフォームの編集画面 > その他の設定 を選択して、記入エリアにon_sent_ok:(送信完了時)、on_submit:(送信された時常に) のキーワードに続けて実行したいjavascriptのコードをテキスト形式で記述する。 on_sent…
遥か昔、100億年ほど前に作っていたテーマを使用していたサイトで突然アーカイブページに何も表示されなくなったと連絡がありました。ブラウザの表示でなければ、何もして無ければ変化が起こるはずがないので、何を変更したか訊いたところ「WordPressとプラ…
WordPressに投稿された画像を表示する際にsizesやsrcset属性を変更したい時は、画像を返す関数では実現できないので、画像IDから自分で画像パスなどを取得してimgタグを作る必要があります。 アイキャッチ(サムネイル)の画像IDを取得するにはget_post_thumbn…
WordPress 4.4 以降では、管理画面からアップロードされた画像を表示させる時に、wp_get_attachment_image()とかget_the_post_thumbnail()とかの関数を使ってimgタグを出力すると、自動的にsrcsetとsize属性がつくようになりました。 例えば、580px x 166px …
WprdPress独特の言い回しなのでしょうか?このtaxonomyとtermが何なのかよく分からなくなってしまいます。 taxonomy は「投稿 (post )」で言うところのカテゴリー term は「投稿 (post )」で言うところのカテゴリーに追加した1つ1つのカテゴリー カテゴリー …
WordPressの関数などで、wp_get_attachment_image_srcなど、存在すれば配列が、存在しない時はfalseが返ってくようなものがあります。このような関数を使っている所で、返ってきた値の有無を確認するのにcount()を使っていると予期しないバグを発生させてし…
投稿のサムネイルなど、管理画面のメディアに登録されている画像のalt属性を取得する方法。 get_post_meta() 関数で取得できる。 _wp_attachment_image_altをキーにして取得することができる。
あるページテンプレートを使用している固定ページを保存した時に、その固定ページで使用しているキャッシュを消すなどの処理をしたい時とか。 投稿(post)も・固定ページ(page)も保存時は save_post アクションフックが呼び出される。 save_post インポート機…
例えば通常の投稿(post)の個別記事か判定したいような時。 is_single() ではpost_typeの判別はできない。
WordPress定番のメールフォームプラグインContact Form 7がバージョン4.4になりフォームの検証ができるようになりました。 今まで使っていたフォームを検証した所いろいろエラーが表示されていたのでエラーを解消したメモです。 入力必須でない項目がメール…
以前、pre_get_posts内で独自の値を$wp_queryにセットしてorderbyを複数にして、それぞれ別のorderにする方法を書いていました。 最近検索していたら、実はもっと簡単に実装できたことが判明しました。 orderbyに配列で条件と並べ方を渡すことができた! 以…
例えばWordPressのプラグインなんかを作っていて、CSSで変数を使いたいなんて時があります。 読み込みをPHPファイルにする。 まずはCSSファイルの拡張子を.phpにして、CSSを読み込ませていた部分をPHPのファイルに変更します。 HTMLならこんな感じ。 <link rel="stylesheet" type="text/css" href="sample.php" /> WordPr</link>…
以前にWordPressの投稿をmenu_orderの順番に並べて表示させる方法を書いていました。 一覧表示・管理画面の一覧をmenu_order順にするまでは良かったのですが、個別ページ(single.php)などで前後の投稿へのリンク(previous_post_link, next_post_link)の表示…
ちょっと古い記事なのですが、LIGさんの解決!WordPress投稿画面のカテゴリーをカスタマイズする方法という記事を参考に投稿のカテゴリーを複数選択できないようにラジオボタンに変更しました。 記事に掲載されているコードの通りに行うことでカテゴリー選択…
※ もっと簡単に実装できる方法がありました! 追記 2015 12/25 前回WordPressの投稿の並び替え条件(orderby)を複数にする方法を書きました。 しかし、この方法ではorderbyを複数にすることはできましたが、それぞれの条件で並べ方(order)を指定することはで…
WordPressで投稿の並び順を操作する時 まずは、カスタムフィールドの値で並べて カスタムフィールドの値が同じだったら投稿日順に並べる のように並び替えの条件を複数使いたい時があったのでメモ。 投稿に発売日を入力するrelease_timeというカスタムフィー…
既存のプロジェクトに途中参加した際の出来事です。 新しいカテゴリーのページを追加したいということでカスタム投稿タイプを作成したのですが、既存のページのレイアウトが変わってしまっていると連絡をもらってしまいました。調べた所このプロジェクトでは…
固定ページにサブクエリを使って投稿を表示させ、WP-PageNaviプラグインでページ送りを表示させる方法のめも。 固定ページのテンプレートにただプラグインを表示させるコードif(function_exists('wp_pagenavi')){wp_pagenavi();}を書いてもナビゲーションは…
is_archive()とかの分岐をカスタム投稿タイプでしたい時の書き方 アーカイブページ is_post_type_archive( $post_type ) を使う
コードベースでカスタムフィールドが作れるWordPressのプラグイン「Custom Metaboxes and Fields for WordPress」が超便利なので使っています。 ▼ 以前の記事 ▼ textareaやcheckboxなど色々なフィールドがコードベースで作ることができるのですが、カスタム…
WP Social Bookmarking Lightは管理画面から表示させたいソーシャルブックマークを選ぶだけで簡単にショーシャルブックマークのボタンを設置できるWordPressのプラグインです。 WP Social Bookmarking Light 簡単に使えるように管理画面の設定でブックマーク…
wordpressで使うメールをgmailにしたい時、管理画面の設定>メールのSMTP設定を SMTP Hostsmtp.gmail.com SMTP Port465 EncryptionSSLを使用する。 Authenticationはい: SMTP認証を使用します。 Usernamexxxxxx@gmail.com (メールアドレス) PasswordGmailの…