MW WP Formでリダイレクトループが発生したときの解決方法

hoge.xxx/contact がお問い合わせページのURLだったときに、
ページに訪れるとhoge.com/contactへの
リダイレクトループが発生するような現象が起こりました。

解決方法

パーマリンク設定とMW WP Formの両方を確認して合わせる必要がある。

パーマリンクの末尾にスラッシュがあれば、MW WP FORM の設定URLにはスラッシュを追記し、パーマリンクの末尾にスラッシュがなければMW WP FORM の設定URLにはスラッシュを削除しましょう。
これで僕は治りました。

参考

[Wordpress]MW WP Formでリダイレクトがおかしいとき | ヨネコウェブ

IE11でflexにcalcを書くときの注意点

flexプロパティを以下のように書いていました。

flex: 1 0 calc(100% / 3)

しかし、これではIE11ではうまく表示されませんでした。

解決方法

flex-grow: 1;
flex-shrink: 0;
flex-basis: calc(100% / 3);

flexのショートハンドでcalcを利用することが、
IE11で認められていないようですね。
IE11が滅亡するまではこの書き方で進める必要がありそうです。

参考

stackoverflow.com

CSSで縦書きしてカーニングがおかしくなった時の修正方法

cssで縦書きするには

writing-mode: vertical-rl;

を指定してやればいいわけですが、
単純にこれだけだと、
日本語が左右にずれたり半角英数がおかしくなります。

解決方法

writing-mode: vertical-rl;
font-feature-settings: 'pkna';

pknaは、仮名や仮名関連の字形セットをプロポーショナル字形に置き換える指定だそうです。

参考

https://ics.media/entry/14087/2

docker-composeで構築したWordpressにプラグインをインストールしようとしたら、Connection Information という表示が出た

Connection Information

題のような状況で、こんな表示が出ました。
はじめて見る表示だったので、解決方法を調べてみました。 f:id:umadash:20190214174023p:plain

解決方法

dockerコンテナにログインしてwp-content の権限を変更する。

1. dockerコンテナにログインする

docker exec -it service-name bash

service-nameのところにはWordpressが動いているdockerコンテナの名前を入力してください。
名前は

docker ps

で調べましょう。

2. wp-contentの権限を変更する

chmod -R 777 wp-content

ここを参考にwp-content いわゆるプラグインがインストールされる場所の権限を変えてあげました。
少し権限を変更するのに時間がかかったので気長にお待ち下さい。 https://stackoverflow.com/questions/44670008/installation-failed-could-not-create-directory-i-get-this-error-everytime-i

docker-compose で立ち上げたウェブサーバーにアクセスできなくなった

僕は普段Wordpressの環境などをdocker-composeで作っています。
そしてlocalhost:8000のように適当なポート番号をふって開発しています。

しかし、今までlocalhost:xxxxでアクセスできていたはずだったのに、
どこかのタイミングからできないようになってしまいました。

localhost:xxxxにアクセスすると理由はわからないが、 localhost:yyyyにリダイレクトされて
Chromeで「localhost で接続が拒否されました。」と表示さます。
*この記事では原因を深く追ってません

環境

macOS Mojave

解決法(僕のケース)

localhost:xxxx」ではなく、「http://127.0.0.1:xxxx 」ならばアクセスできた。

サーバーサイドのエンジニアならすぐ分かるんですかねー。
うっすらDockerを使っている僕ではよくわかりませんでした。

追記(2019.02.14)

いろいろ試しましたがうまく行かず。
最終的にはDockerをアンインストール後、再インストールして解決しました。

追記(2019.02.16)

またも発症。
リダイレクトされる側のWordpressパーマリンク設定を更新したら治った。

Wordpressでタグ・カテゴリ・タクソノミーを統合する

例えば
「トラック(track)」タグがついた記事と
「タクシー(taxi)」タグがついた記事を、
「車(car)」タグひとつに統合したい場合の操作を調べたので記しておきます。

とても簡単でした。

結論

Term Management Tools をインストールして、タグ・カテゴリ・タクソノミー変更画面から「merge」もしくは「統合」を選ぶ。 wordpress.org

参考

stabucky.com

WP REST API v2を利用し、カスタム投稿タイプの記事をカスタムタクソノミーでフィルタリングして取得する

すこしだけハマったので、
メモ程度に書き残しておきます。
案外日本語で書かれている方も少なかったようなので。

細かいところはドキュメントをどうぞ
この記事では、ただタイトル通りのことを達成します。
REST API Handbook | WordPress Developer Resources

結論

Wordpress4.7からfilterパラメーターは削除されているので、
プラグインを利用してfilterパラメーターを利用できるようにする

プラグイン

github.com

手順

  1. 上記プラグインをインストールする
  2. APIを叩いて取得できることを確認する

APIのサンプル

以下は、 カスタム投稿タイプがbooks
カスタムタクソノミー名がcustom_category
カスタムタクソノミーcustom_cateogoryに設定されている分類がcomic
の記事を取得したい時のサンプルです。

/wp-json/wp/v2/books?filter[custom_category]=comic

カスタム投稿タイプを追加する際の注意点

カスタム投稿タイプを追加する際に気をつけておかないことがあります。
ここ忘れるとapi経由で取得できないのでご注意を。

register_post_type('カスタム投稿タイプの名前', [
    // (オプション中略)
    'show_in_rest' => true,
    'rest_base' => 'URLのベースとなる名前',
]);

show_in_restをtrueにしましょう

参考

WordPress REST API で、カスタム投稿タイプなどの情報を取得する | Tips Note by TAM

まとめ

WordpressもHeadlessに利用して、快適なエンジニア生活を楽しみましょう。