WordPressの逆引き作業メモ

このブログはWordPressで業務に使った時の自分の作業用のポイントメモです。

WordPressのページの順番をドラックドロップで変更、子ページの階層を畳んで見やすくするプラグイン

WordPressのページを、たくさん作り階層なども作って管理しているとなかなか大変です。 子ページをたくさん作るとリストが見にくくなったり、順番を任意に変更したくなった時に使いやすくなるプラグインを導入します。 ja.wordpress.org 同様にドラックドロ…

MW Formで特定のsubjectのメールはHTMLメールにする

MW Formをつかっている時に、返信をHTMLメールにしてリンクや改行などを指定したい場合に以下のように内容を functions.phpに追記します。 // HTMLメールにしたいメールのサブジェクトが「お問合せ受付」の時に、以下のようになります。 add_filter('wp_mail…

WordPressでオリジナルのコンテンツブロックをプラグインで作る

コンテンツの管理を顧客に渡す場合は、それぞれのスタイルをあらかじめ適用したコンテンツを記事に挿入できるオリジナルのブロックを作りたい時にプラグイン「Genesis Custom Blocks」を使います。 管理画面のプラグインページでGenesis Custom Blocksをイン…

WooCommerceで注文情報をCSVやエクセルに書き出す。

WooCommerceの注文情報を利用したり、検討や分析、まとめたりするのに書き出したい時に使えるプラグインが Advanced Order Export For WooCommerceです。 インストールするとWooCommerceのメニューの中にExport Ordersのメニューが追加されます。 メニューを…

公開前やメンテ中のベーシック認証かけたサイトでLet's Encryptだけを先に通す。

公開前やメンテ中、検索のRobotに拾われたり閲覧できないようにするのにベーシック認証は手軽でよく使う方法です。 <Location / > AuthType Basic AuthName "Input ID " AuthUserFile /var/www/.htpasswd Require user foo</Location> サイトを制作途中に、公開前にSSLのLet's Encryp…

WordPressで子ページ一覧の表示を1階層だけに絞る

現在のページの子ページ一覧を表示するのはプラグインも提供されています。 CC Child Pages – WordPress プラグイン | WordPress.org 日本語 CC Child Pagesをインストールすると [child_pages] というショートコードを入れるだけで、そのページの子ページ一…

WordPress5.9へのアップデートでログイン画面に自動で追加されたLanguage Switcherを非表示にする

最新のWordPress5.9へアップデートした時に、クライアントにこれいらないと言われるかもしれない機能。ログイン画面に言語切り換えのプルダウンが追加されます。 // 日本語だけで運用していて必要ない場合これを非表示にするには functions.phpに以下のコー…

MW WP Formの日付フィールドの入力できる日を制限する

MW WP Formで日付を入力すると ui.datepicker.jsで日付の選択ウインドウが表示されます。 [mwform_datepicker name="date01" id="date01" class="date01" js="minDate: 3, maxDate: 9" size="30"] 選択出来る日を最小今日から3日後から9日後までに設定 日…

WordPressで管理者以外は自分のアップした画像と共有パーツしかメディアに表示されないようにする

WordPressでもっとも運用で困るもののひとつに権限設定の緩さがあります。メディアのアップされた画像は他の編集者や画像をアップロードできるユーザーからも見えるし、場合によっては削除できてしまいます。 このメディアに現在ログインしているユーザーの…

WordPressで子ページははずして、親ページだけの一覧を取得したい

投稿ページや、固定ページ、カスタム投稿ページでも親ページ、子ページはよく使います。 自分の子ページのリストを取得するQueryのコードはよく見かけます。 $parent_id = get_the_ID)(); $args = array('posts_per_page' => -1,'post_type' => 'page','orde…

WordPressでログインしたユーザーが管理画面で自分の記事しか表示させない

WordPressで困るのは権限設定。 ログインして編集できるユーザーが、他の記事も見えるし、編集できたりしてしまいます。 外部のライターや、権限を分割したい時にデフォルトでそのような機能がありません。 そこで、編集画面でそもそも自分の書いた記事以外…

WordPressでコメントを機能させない

WordPressは本来ブログを作成するためにCMSなのでコメント機能が最初から実装されていmます。WordPressの普及と共に企業サイトなどにも多く使用されています。 企業サイトで必要ないものにコメント機能があげられますね、会社概要のページにコメントつけて欲…

作業確認用のブラウザのスーパーリロード

制作中にページを更新しても「変わってないんだけど?」なんて、やりとりもしばしば。 各ブラウザで特にCSSやJavascriptなどが更新されない場合が多いため、そのページのキャッシュを読まずに全て新規で読み込ませるスーパーリロードを説明するのは面倒なの…

WordPress5.5、WordPress5.6にアップデートしたらスライダーの挙動がおかしい場合

WordPress5.5や5.6にアップデートした場合、今まで動いていたjavascript,jQueryプラグインのスライダーが、うまく動かない場合があります。Flexslider,bxSliderなどのフォーラムで、報告されています。 症状としてはローディングが終わらない、ページ送りを…

Advanced Custom Fields (ACF) のデイトピッカーの日付がWordPress5.3以降で表示がずれる場合

WordPress5.3になり、日付の内部の管理が更新された。 ACFのデイトピッカーでイベントの日付を入力しているサイトがあり、WordPressを最新に更新した際に報告されてつまづいた。 デイトピッカー // 以前に入力したデータも含めて、ちょうど9時間ずれて表示さ…

htaccessでstripeなどの組込をサイトでテストしている時にwebhookだけベーシック認証をIPではずす

サイト公開前などにベーシック認証を使って閲覧を制限することがあります。 ただ通販や他のAPIを使って最近増えたwebhookでの通信を使う場合、ベーシック認証をサイト全体に使っているとそこの部分のテストができません。 なので、htaccessで特定のIPからの…

WordPressのメディアライブラリにSVG画像をアップロードできるようにする

ロゴや図など、ベクター画像でできているものは、SVG形式で書き出せば拡大しても劣化しませんし、容量も軽くできます。 ※かなりディテールが複雑なものは逆に重くなる場合もあります。 レスポンシブで幅を自由に指定すれば、劣化を気にせず使えるので積極的…

WordPressの管理画面でユーザーを名前でも検索できるようにする

WordPressのユーザー一覧で、多くのユーザーやゲスト登録をしているサイトなどでは、メールアドレスやユーザー名以外で検索したいと言われる事もあります。 特に名前で検索したいと言われる事が多いため、その方法もメモしておきます。 このように名前を入力…

WordPressでフロントページを固定ページで切り換えた時に、今の固定ページにより表示を切り替える

WordPressではデフォルトのトップページ、WordPressで言うところのfront pageをブログのように自動で最新の投稿の一覧にするか、固定ページを指定して特定の内容にするか選択できる。 設定>表示設定 のホームページの表示で切り換える事ができる。 // 商用…

WordPressでスマホからアップロードされる画像が横向きになるのを防ぐ

WordPressの管理画面もレスポンシブになり、スマホからでも記事を投稿したりカメラで撮影した画像をアップすることができます。 ところが、画像をアップロードすると、思わず横向きになってしまう事があります。 これは、画像の回転情報の属性を判断せずにア…

MW WP Formでhiddenフィールドに自動で値を入れる

入力フォームで確認画面が出る仕様は日本のガラパゴス仕様なので、対応しているプラグインは必然と国産のプラグインになる。 現在多く使われているプラグインがMW WP Formだ。 ja.wordpress.org タグをプルダウンでいれていくとフォームができあがります。 …

ワードプレスでPHPで時刻を表示したら9時間狂うぞ?

WordPressで投稿時間や単純に時刻を表示しようと思うと、普通にPHPだと echo date( 'Y-m-d H:i:s' ); になります。 ところが表示すると実際に時間より、9時間ずれてしまいます。 これは、通常のPHPの関数を使うとグリニッジ標準時の現在時刻を表示してしま…

カテゴリーや記事の表示順を自由にドラッグドロップで変更したい

カテゴリーをいくつか作ったり、タクソノミーで自分独自の分類を作ってリスト表示した時やメニューに反映した時に、クライアントから○○を2番目に、○○を一番下になどと指示をされる事があります。 そのような時の定番プラグインが Category Order and Taxonom…

WordPressで絵文字を使わないので4.2以降に入るようになったコードを入れないようにしたい

WordPress4.2以降から、AndroidやiOS、Windows8以降、OSXなどで共通で使える絵文字に対応しています。 絵文字をコピペで入力 投稿や固定ページで絵文字を使うことができます。 スマホでは変換で入力できますが、PCでは入力インターフェイスが用意されていま…

WordPressでコンテンツを時間でタイマーで切り換えたい

イベントの開始や、月の更新などにより決まった時間にコンテンツを更新しなければいけない時はあります。 ページ毎切り換える場合ではなく、サイドバーのバナーを月末で入れ替えたり。 イベントの申し込みの開始日が決まっていたり。 そんなときにEasy Timer…

WordPressの管理画面にオリジナルページを追加

WordPressの管理画面に、簡単なヘルプページなどの1ページをHTMLで追加したい時の最小モデル。 functions.phpの中にadmin_menuフックにメニューを追加するコードを書きます。 function register_my_custom_menu_page() { add_menu_page('ヘルプページ', 'ヘ…

WordPressの管理画面をIPアドレスで国内からしかアクセスできないようにする

WordPressでサイトを公開すると、いろいろなアタックが来ます。特にログイン画面には各国から自動のアタックプログラムがログインしようとして失敗するのが確認できます。 まず、これを確認するにはログインの情報を可視化する「Crazy Bone」というプラグイ…

ウィジェットをトップページのコンテンツ管理でスニペットのように使う

WordPressのウィジェットは、コンテンツをGUIで管理して画像や記事の新着などをブロック単位で管理できて便利です。 デフォルトではサイドバーの管理やテーマによりコンテンツの下の部分など管理できる箇所がセットされています。 自分で新たに追加するには…

マルチサイトで別のブログの投稿データを読み込む

マルチサイトは、複数のブログもしくはWordPressサイトを同じドメインで管理する手法です。 wp-config.php ファイルを開き define ('WP_ALLOW_MULTISITE', true); を追加すると、ネットワークの設置が表示されマルチサイトが追加されます。 このマルチサイト…

WordPressでログインしたときにダッシュボードを表示せずにトップページを表示する

会員制のWebシステムや、閲覧だけのユーザーを作りたい時に使います。 まず、管理者はそのままダッシュボードにページ遷移し、購読者ならダッシュボードを表示せずにトップページを表示させるには、function.phpでwp_loginのアクションフックを使います。…