作成者別アーカイブ: てらりん

WordPress4.8.3でメディアライブラリが表示されない現象

WordPress4.8.3で、メディアライブラリを使おうとすると、今まで入れた画像が表示されず、ずっと読み込み中になってしまう現象が起こりました。

その前後で何かしたということはないので、下記のことを試しました。

・リブートかける
・ブラウザのキャッシュを消してみる
・memolylimitを増やしてみる
・プラグインを停めてみる
・wp-configに謎の呪文を入れてみる

しかし、どれも効果がなく。

最終的に

WordPress(バージョン4.6.1)のメディアライブラリが表示されない場合の対処法

こちらの記事を読ませていただいて、

「AjaxによるPHPとJavaScriptの送受信の不具合」
「AjaxによるPHPとJavaScriptのデータ送受信の不具合は、サーバーのPHPバージョンが古いために起こることがあります。」

という文章が、一番近い減少のような気がしたので。

サーバはさくらインターネットだったので、コントロールパネルからPHPバージョンを5.2から5.3に上げてみました。

そうすると無事に解決しました。

WP4.8.3との兼ね合いか、「起こることがある」とのことだったので、たまたまだったのかはわかりませんが。

簡単にPHPのバージョンを選べる、さくらインターネットでよかったなぁと思いました。
※ちなみにPHP7まで上げたとき、このブログではおこらなかったのですが、別のWPではエラーがいっぱいでました。多分「Types」というpluginでのエラーだったと思いますが……。

最新に上げればいいってわけではなくて、いろんなところと相談しながら上げていく必要があるなぁと改めて思います。

さくらインターネットで「Let’s Encrypt」を設定してみる

2017年10月17日から、さくらインターネットで「Let’s Encrypt」がコントロールパネルから設定できる!ということで楽しみにしておりました。
スマホの普及によりあらゆる人がネットにすぐ接続できる環境で、セキュリティの弱い環境での閲覧が危険ということで、見られるサイト側でセキュリティを上げる必要があると、常時SSL化が重要となってくる中、それでもサーバ証明書は有料だし……と一般人にはなかなか敷居の高い状態でしたが……。これで、私のような個人サイトでも常時SSL化にすることができる!!ありがとう!さくらインターネット!!

ますます好きになりました。

さて、「Let’s Encrypt」をこのブログに導入してみようと思います。

1.コントロールパネルログイン

2.ドメイン一覧から証明書を設定したいドメインを選ぶ

3.証明書の登録を押す

4.「無料SSLを設定」ボタンを押す

という流れです。

途中で「ドメインは、wwwなしでなければならない」とかいろんなことが書いてあったんですが、そこは気にしなくてよかったです。

ただ、WPはそれだけではまくいかない。

「リダイレクトが繰り返し行われました。」と表示されます。ので、下記の記事を参考に対応です!

さくらのレンタルサーバでWordPressサイトを常時SSL化するとリダイレクトループが発生する場合の対処方法

さぁできた、htaccessでhttpに飛んできたのはhttpsに飛ばすぞー!と、普通に.htaccessを書き込んだら、またリダイレクト……。

htaccessも書き方に一癖あるみたいです。

最終的にはこちらの記事どおりにしました! ありがたや!

WordPressをhttps化する方法とさくらサーバーでの注意事項

WordPressで「アクセス権はサーバーによる書き込みを許可していますか ?」のエラー

サーバ移行してから「ディレクトリwp-content/uploads/2017/10を作成できませんでした。この親ディレクトリのアクセス権はサーバーによる書き込みを許可していますか ?」というエラーが出ます。
いろんなブログを見て「パーミッションを「777」「707」にするとか、php.iniでphpのセーフモードをOffにするとか、いろいろと試しにやってみたのですが、うまくいかず。

いろいろと事情があって、とても古いWPなのですが、「設定」 – 「メディア」から「アップロードする画像の格納場所」の設定を「wp-content/uploads」に変更したら治りました。そして、その設定を「wp-content/uploads」に替えたら、その項目自体、消えてしまった……。不思議だ。

WordPressで画像がアップロードできない場合の原因と対策一覧
の記事がとても参考になりました。参考になったというか、これを見てなかったら、いつまでもさまよっていました。
ありがとうございました。

上記記事では「WP3.5」以降には項目がありませんが、と書いてありました。
問題のWPは「WP4.2」だったので、該当はしませんが、おそらく導入当初はもっと低いバージョンで、知らないうちに誰かがバージョンアップを行ったので、「WP4.2」まで上がり、でも数値がデフォルトの値ではないもので設定されていたので、項目として管理画面から見えるようにしていただいてたってことじゃないのかなと推察します。

アプリ起動中はスリープしないようにする【monaca】

monacaでAndroidとiOSのアプリを作成しています。
アプリ起動中はスリープしないようにするプラグインを入れましたので、その方法を記述しておきます。

まず、外部プラグインをmonacaで導入するには、有料プランの契約が必要です。私はProプランで契約しました。

スリープしないようにするプラグインは、「Insomnia-PhoneGap-Plugin」です。

1.Githubからダウンロードします。

zipを任意の場所にダウンロードしておいておきます。

2.monacaにプラグインをインストールする

monacaの管理画面に行って、設定 >Cordovaプラグインの管理をクリックします。 続きを読む

EC-CUBE3にて価格は会員のみ表示する

【参考】

セキュリティ

会員ユーザーがログイン中かどうかチェックする方法

【実施】

商品リスト

「app/template/test/Product/list.twig」の

{% if Product.hasProductClass %} から {% endif %} 値段(Price)が書いてあるあたりを

{% if is_granted(‘ROLE_USER’) %} から {% endif %}で囲む。

 

会員じゃない人へのメッセージと、会員登録へ誘導するのが親切なので
続きを読む

EC-CUBE3に商品登録項目追加。検索フォームにも追加。

参考ページ

「商品情報に項目を追加する方法」

「EC-CUBE3で既存のクエリーに条件を追加する方法」

「【ECCUBE 3】検索対象を増やす。」

受注マスターに検索条件を追加する方法(商品コードなど)

やりたいこと

「商品サイズ(productsize)」を商品登録項目で追加と、検索項目に追加。
上記の参考ページを参考にしました。

「商品サイズ(productsize)」を商品登録項目で追加と、検索項目に追加。
上記の参考ページを参考にしました。

商品登録項目追加

1.テーブルへのカラム追加

「dtb_product」テーブルに「productsize」という名前のカラムを追加 続きを読む

EC-CUBE3でテンプレート追加

EC-CUBEのバージョン:3.0.14
PHP5.6.31、PostgreAQL9.3.17
サーバーはxampp
http://localhost/

テンプレートの追加について、
ECCUBE3でデフォルトテンプレートから独自テンプレートを作る方法
等を参考に進めています。

localhostという環境だからかもしれませんが、まず、テンプレートのダウンロードでシステムエラーがでます。

うまくいかないので、
[EC-CUBE3.0.10]新しいテンプレートを追加する
を参考に進めました。

簡単に言うと、ディレクトリをサーバにコピー(app/template/以下とhtml/template以下) → データベースに直接書き込んでテンプレートリストを追加 → 管理画面で選択して切り替え

という手順です。詳しくは記事のリンク先へどうぞ。
丁寧に説明されておられます。ありがとうございました。

WPのContactForm7が文字化けする

スマイルサーバのver4に移動してから、WordpressのContactForm7で送ったメールが文字化けするという現象が起こりました。

正確には、メールフォームで入れた項目が「????」という文字化けをし、そのほか設定した文字(たとえば、「このメールは●●サイトのお問い合わせから送っています」などのテンプレートの文字)は文字化けしていません。

ContactForm7の文字化けについては、いろいろと記事がありましたが、そのうちの

Contact Form 7で送るメールの文字化けが直らない

php.iniのmbstring.encoding_translation = OnをOffにしたら文字化けしなくなりました。

が参考になりました。

実際に、phpinfoでサーバ情報を見ると、「mbstring.encoding_translation」は「On」でした。

ただ、その設定をするとうまくいくのですが、「On」になっていたのを「Off」にするのは少々抵抗があります。

そのほか見ていて、

mbstring.encoding_translationが原因で文字化け

での設定がよさそうです。

スマイルサーバの「php.ini」は「.user.ini」である必要があるので、そのファイルに

mbstring.http_input = UTF-8

mbstring.internal_encoding = UTF-8

mbstring.substitute_character = "?"

を記入して、文字化けは防げました。

スマイルサーバプラン移行後、allow_url_includeがOnできなくなったら

スマイルサーバがver2,3からver4にプラン移行するにあたり、データを移行してくれたのですが、includeを利用して表示していた画面が表示しなくなりました。

単純にソースを書き出したphpをincludeして表示させていた仕組みで、今更アウトプット部分の処理を変更するのも、面倒なので、今までのようにincludeを使えないかと調べました。

php.iniでallow_url_includeをOnにしてみる

まずは、php.iniを利用して、allow_url_include = ONにしようと思ったのですが、今までのサーバでは「data」フォルダに「php.ini」を入れるだけでいけていました。

しかし、今回は「.user.ini」というファイル名を入れなければならないようです。しかも、allow_url_include = ONはできない(※スマイルサーバに問い合わせていただいた回答です)

includeの代替案

参考URLを教えてもらったので、
allow_url_fopen と allow_url_include
試しましたが、うまくいきませんでした。

どちらかというとうまくいったのは

PHPのallow_url_includeでinclude()の代替案

でした。cURL関数を利用しました。

 

WordPress4.8にアップデートしたらFailed to load content css: (省略)editor-style.cssと出る件

WordPress4.8から、テーマとブラウザによっては、投稿用のビジュアルエディターにしたときに

「Failed to load content css: (省略)editor-style.css」と出るようになった。

ビジュアルエディターにスタイルシートを効かせたい場合、function.phpに

add_editor_style(‘editor-style.css’);

と記述して、適応させるthemeのフォルダにいれたeditor-style.cssを読み込ませたり、「tinymce-advanced」の設定で「editor-style.css」を読み込ませたりしていたのだけども、それがどちらの方法でも引っかかる。

また、ブラウザはGoogleChromeのときに出るような気がしている。

手っ取り早い解決方法として、「editor-style.css」に「import」を利用して、相対パスで別のcssファイルを読み込ませていたので、それを絶対パスに変更した。

ブラウザやサーバやテーマの作り方によって出たりでなかったりするというところは、まったく解決していないが、とりあえず。