echizenya
フォーラムへの返信
-
フォーラム: 使い方全般
返信が含まれるトピック: Amazonアソシエイトのスクリプトコードをウィジェットのテキストボックスにコピペして保存しても大丈夫でしょうか?@munyaguさん。コメントありがとうございます。
ブログにJavaScriptのコードを貼り付けたからといって、SSH出来なくなることはありません。
再度、管理画面からhttps://e-yota.com/ にAmazon商品検索ウィジェットのスクリプトコードをはると、
今度は、商品検索ボックスを表示させることができました。VPSで運用されているのであれば全てのログを見ることができると思いますので、該当時間帯のOSのログなどを見て何が起こっていたのかを調べてみてください。
# cd /var/log/httpd/access_log
で該当時間帯を確認すると、
::1 - - [12/Sep/2017:19:34:35 +0900] "OPTIONS * HTTP/1.0" 200 - "-" "Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips (internal dummy connection)" ::1 - - [12/Sep/2017:19:34:37 +0900] "OPTIONS * HTTP/1.0" 200 - "-" "Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips (internal dummy connection)" ::1 - - [12/Sep/2017:19:34:42 +0900] "OPTIONS * HTTP/1.0" 200 - "-" "Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips (internal dummy connection)"
という記録が大量に残っていました。上記記録の前後に、http://●●●.com/robotというような不特定多数のbotURLからGETリクエストがありましたので、おそらくDDoS攻撃を受けていたものかと思われます。
運用しているVPSは無料でWAF(Web Application Firewall)の導入ができます。早急にインストールするようにいたします。アドバイスありがとうございました!
フォーラム: テーマ
返信が含まれるトピック: パンくずリストでthe_title()を使用するとスマホのときに表示されません@ishitaka さん。
たびたびのアドバイスありがとうございましたありがとうございます。スマホ(ブラウザ)はなんでしょうか?
自分はスマホはAndroidでブラウザはChromeを使っています。
PCで”android スマホ キャッシュクリア”を検索して、ヒットしたいくつかのページに基づいてキャッシュを削除すると、
パンくずリストが最後まで表示されるようになりました。合わせて自分が使っているエミュレーターでも同様に表示されました!最後まで根気よく付き合ってくださって、感謝に耐えません。本当に助かります。
今後ともどうぞよろしくお願いしますフォーラム: テーマ
返信が含まれるトピック: パンくずリストでthe_title()を使用するとスマホのときに表示されません@ishitaka さん。追加のコメントで恐れ入ります。
本番サーバーでもstyle.cssは/*@media(max-width: 599px) { .bread li:last-child { text-indent: -9999px; } }*/
としていますが、やはりスマホにおけるパンくずリストの記事タイトルは表示されません。
フォーラム: テーマ
返信が含まれるトピック: パンくずリストでthe_title()を使用するとスマホのときに表示されません@ishitaka さん。
たびたびのアドバイスありがとうございます!
以下の3点について、コメントいたします。特に2.についてご確認をいただければ幸いです1.
header.php の 8行目
functions.php の 6行目おかげさまでheader.php の 8行目をコメントアウトして、functions.php の 6行目をそのまま生かしておくと、
スマホ表示におけるパンくずリストの最後尾にブログ記事のタイトルが表示されるようになりました。ありがとうございます。2.
ただ同じことを本番用のサーバーですると、なぜかこちらでは表示されません。ローカル開発環境のテーマも本番サーバーのテーマもheader.phpとfunctions.phpについては同じ内容なのですが…。どんな原因が考えられるでしょうか?3.
パンくずリストの表示状況については、https://goo.gl/ikoS56 に画像を2枚追加しました。また本番用のサーバーで使っているブログサイトの例は、http://e-yota.com/book_report/imphal_strategy_resist_command/
です。加えて本番用サーバーのアドレスで、スマホの見た目を確認するサイトのキャッシュをクリアしたり、自分のスマホで確認しても記事タイトルは表示されません。
もし今回のコメントが当初の質問から外れているようでしたら、おっしゃってください。この質問は解決済みとして、別に質問を投稿します。いかがでしょうか?
フォーラム: テーマ
返信が含まれるトピック: パンくずリストでthe_title()を使用するとスマホのときに表示されません@ishitaka さん
CSSについてもアドバイスをいただきありがとうございます。単純に丸ごと削除するだけていいと思いますが・・・どうでしょうか?
先ほど私のコメントにおいて「原因と対策」が一つ漏れておりました。
/* @media(max-width: 599px) { .bread li:last-child { text-indent: -9999px; } } */
対策の最初にメディアクエリの部分を丸ごとコメントアウトしました。
ですが、スマホにおけるパンくずリストの最後尾には、ブログの記事タイトルをつけることはできませんでした…念のため本番サーバーでも当該箇所をコメントアウトをしましたが、
やはりパンくずリストの最後尾に表示されるはずのブログタイトルは表示されませんでした。
(https://goo.gl/ikoS56 にローカル開発環境と本番サーバーの内容について比較した画像を追加しました)いかがでしょうか?
フォーラム: テーマ
返信が含まれるトピック: パンくずリストでthe_title()を使用するとスマホのときに表示されません@ishitakaさん。
アドバイスありがとうございます。—
>style.css の下記コードが影響しているようです。
“css text-indent 9999px 効かない”でGoogle検索をしたところ、スマホのパンくずリストが表示されない原因に関する記事がいくつかヒットしました。大きく分けて3つの原因と対策が挙がってきました。ですがいずれも最後尾にブログ記事のタイトルをつけることができません。
1.親要素などにtext-alignが設定されている場合について
今回の場合、.bread li:last-childの擬似クラスは、.sub-headerクラスが該当します。ただ.sub-headerクラスでは、text-alignが設定されていません。
【参考ページ】
https://html-coding.co.jp/knowhow/cts/000019/2.親要素にtext-indent -9999pxを予め仕込む
下記のようにコードを変えてみました。
@media(max-width: 599px) { .sub-header { text-indent: -9999px; } .bread li:last-child { text-indent: -9999px; } }
【参考ページ】
http://911.ddtea.com/?eid=12867493. text-indent: 100%;とする
下記のようにコードを変えてみました。
.bread li:last-child { white-space:nowrap; text-indent: 100%; overflow: hidden; }
【参考ページ】
http://d.hatena.ne.jp/webhush/20130926/1380158119—
ただこれ以上、質問をするとWordPressに関する質問ではなくなり、CSSの質問になってしまいます。なので今回の質問はこのコメントを持って「解決済み」とします。
これ以上のことについては、@ishitakaさんのアドバイスを参考にしつつ、WordPressフォーラム以外のところで質問するようにします。
ありがとうございました。今後ともどうぞよろしくお願いします。
フォーラム: 使い方全般
返信が含まれるトピック: フィルターフックで投稿本文を置換する方法を教えてください。@colorfullifeinfo さん。
フォローコメントありがとうございます。冒頭の2行を省略してしまっています、分かりにくくて申し訳ございません
いえ、とんでもないです。私も @colorfullifeinfo さんの意図が汲めず、恐れ入ります。
投稿本文が表示されなくなる理由としては、グローバルに$contentが無いので、カラの文字列が返るからですね
アドバイスありがとうございます。下記のページを見ることで、関数内でグローバル変数の宣言をすることが分かりました。
http://wpperson.net/biginner/95/
http://php.net/manual/ja/language.variables.scope.php今後ともどうぞよろしくお願いします。
フォーラム: 使い方全般
返信が含まれるトピック: フィルターフックで投稿本文を置換する方法を教えてください。@colorfullifeinfo さん。
さっそくのアドバイスありがとうございます!1.
関数内のスコープで $content が定義されていない
おっしゃる通りに、
add_filter( 'the_content', function($content) { return str_replace ('Welcome', 'ようこそ', $content); } );
として、関数内に
$content
の引数を与えると、全ての投稿ページにおいて「Welcome」が「ようこそ」に変わりました。また英語版のcodexで、the_content
フィルターを確認すると、関数内に引数を与える例文があることにも気がつきました。2.
グローバルスコープの変数を参照する為に、関数内で global $content とグローバル宣言を行う必要があると思います。
こちらもアドバイスありがとうございます。ですが教えていただいたコードを記述すると、なぜか投稿本文が表示されなくなってしまいます。その理由は分かりません。
add_filter( 'the_content', function() { global $content; // グローバル変数を参照 return str_replace ('Welcome', 'ようこそ', $content); } );
ただ、質問は「フィルターフックで投稿本文を置換する方法を教えてください。」なので、当初の疑問は解決できました。従って本質問は「解決済み」としておきます。
ありがとうございました。今後ともどうぞよろしくお願い申し上げます。
- この返信は6年、 11ヶ月前にechizenyaが編集しました。
フォーラム: テーマ
返信が含まれるトピック: the_search_query()関数を用いても特殊文字が文字実体参照に変わらないのはなぜでしょうか?@nobita さん。
要素を選択して右クリック「Edit as HTML」を選択してみて、テキストエリアのHTMLを確認
アドバイスに従って操作をしたところ、下記の画像の通り、特殊文字が文字実体参照に変わっていることが
はっきりと分かりました!おかげさまで「もやもや」がスッキリしました。http://takaiba.net/wp_question/5.png
的確なアドバイスありがとうございます。
- この返信は6年、 11ヶ月前にechizenyaが編集しました。
フォーラム: テーマ
返信が含まれるトピック: the_search_query()関数を用いても特殊文字が文字実体参照に変わらないのはなぜでしょうか?@nobita さん。
いつもアドバイスありがとうございます!—
1.
エスケープされているかどうか検証する場合に、ブラウザのDOMソース(Chromeだと右クリック検証)または、HTMLソースどちらで検証されていますか?
HTMLソースでのソース確認をしていませんでした…。
自分が作成しているテーマについてHTMLソースでの確認をしたところ、上記コメントの2.png のような結果となりました。一方Twenty Seventeenの公式テーマで確認したところ、HTMLのソース表示もデベロッパーツールの検証ページも以下の通りになりました。
http://takaiba.net/wp_question/3.png
http://takaiba.net/wp_question/4.pngこれらは上記コメントの、
- 1.png
- 2.png
と同じ結果です。よってすでにエスケープはできていると認識してよろしいのでしょうか?
2.
WordPressの検索結果は、単に文字列が存在するかどうかをチェックしているので、
http://tenman.info/labo/snip/archives/9215
のような事も起きます。内容を読むと、
デフォルトの状態であれば、特に大きな不具合にはなりませんが
と書かれています。今回はデフォルトの検索窓のみを使うつもりなので、
検索結果に投稿内のhtml属性値を検索対象から除くのは実装しないようにしようと思います。
ただ、これから独自テーマを作成するときの参考とさせていただきます。—
たびたびの質問で誠に恐れ入りますが、ご確認よろしくお願い申し上げます。
- この返信は6年、 11ヶ月前にechizenyaが編集しました。
フォーラム: テーマ
返信が含まれるトピック: the_search_query()関数を用いても特殊文字が文字実体参照に変わらないのはなぜでしょうか?@msio さん。
お忙しいところ、アドバイスありがとうございます!—
1.
ご質問のなかにある通り「エスケープ」されているからではないでしょうか。
ということは、「もうすでにエスケープされていて気にする必要はない」ということでしょうか?
http://takaiba.net/wp_question/1.png
http://takaiba.net/wp_question/2.png上記の1.pngは<script>alert(1)</script>を検索窓で検索した時の
search.phpとsearchform.phpの様子です。ページもChromeデベロッパーツールで
表示した検証ページも、<script>alert(1)</script>も特殊文字がそのまま使用されています。一方、2.pngはsearch.phpとsearchform.phpをソース表示した様子です。
こちらの方では、<script>alert(1)</script> となっており文字実体参照が使われています。これらの1.pngと2.pngの状態をもってエスケープがすでになされていると考えてよろしいのでしょうか?
2.
実際のデータベースの中身はエスケープ記号がついているかアスキー番号の文字を指定する記述になっているのではと思います。
恐れ入ります。この場合、まずどのデータベーステーブルを確認すればよろしいでしょうか?
—
たびたびの質問で誠に恐れ入りますが、ご確認よろしくお願い申し上げます。
フォーラム: テーマ
返信が含まれるトピック: 自作テーマ作成後のチェックについて@nobita さん
ご丁寧なアドバイスありがとうございます。お礼のメッセージが遅くなり恐縮です。
いただいたアドバイスについて下記のように修正・確認いたしました。—
1.
例えば長いURLなどをタイトルに貼り付けてみると、スペースがないため、タイトルがオーバーフローしてしまうといった事を何とかしなさいという事だと思います。
連続文字の折り返しは、投稿本文では結構重要なので、サンプルを置いておきます。
ご指摘ありがとうございます。style.cssにおいて、2ヶ所word-wrap: break-word;の追記を行いました。
.text h1 { word-wrap: break-word; }
/* 記事 */ .kiji h1 { margin-top: 0; margin-bottom: 10px; font-size: 36px; word-wrap: break-word; }
上記のようにしておくと、英単語が並んでもタイトルエリア内で折り返しができるようになりました。
【参考ページ】
https://goo.gl/0XXPP52.
$post->ID なんかもよく使うんじゃないかと思いますが、時々ないよ!ってことがあります。それが、あるかどうかチェックして、あればechoといった形に変更してはどうでしょうか?
こちらも指摘ありがとうございます。
<?php echo get_post( get_post_thumbnail_id() )->post_excerpt; ?>
となっていた箇所を、
<?php $post_thumbnail_id = get_post_thumbnail_id(); if($post_thumbnail_id) { echo get_post( $post_thumbnail_id )->post_excerpt; } ; ?>
と変更しました。
【参考ページ】
https://goo.gl/bBxnQs
https://goo.gl/BSGPjr3.
こういうやつあったんですね、単に抜粋が正常に動作するかどうかをチェックする事を促進しているだけで、エラーがあるという事ではないんではないでしょうか?
個人的な見解で恐れ入りますが、それほど重要な指摘ではないように思いますので、この指摘についてはそのまま何もしないようにいたします。
—
以上、よろしくお願い申し上げます。
フォーラム: テーマ
返信が含まれるトピック: 自作テーマ作成後のチェックについて【追記】
@toro_unit さん。
本来ひとつのコメントで返信すべきですが、まとめてコメントしようとすると、投稿を受け付けてもらえなかったので、2分割させていただきました。お手数をおかけして恐れ入ります。今後ともどうぞよろしくお願いします。フォーラム: テーマ
返信が含まれるトピック: 自作テーマ作成後のチェックについて@toro_unit さん。
(承前)次に、
$ brew install composer
を実行しましたが、下記のようなエラーが出ます。
$ brew install composer error: unknown option config' usage: git clone [options] [--] <repo> [<dir>] -v, --verbose be more verbose -q, --quiet be more quiet --progress force progress reporting -n, --no-checkout don't create a checkout --bare create a bare repository --mirror create a mirror repository (implies bare) -l, --local to clone from a local repository --no-hardlinks don't use local hardlinks, always copy -s, --shared setup as shared repository --recursive initialize submodules in the clone --template <path> path the template repository --reference <repo> reference repository -o, --origin <branch> use <branch> instead of 'origin' to track upstream -b, --branch <branch> checkout <branch> instead of the remote's HEAD -u, --upload-pack <path> path to git-upload-pack on the remote --depth <depth> create a shallow clone of that depth Error: Failure while executing: git clone https://github.com/Linuxbrew/homebrew-core /home/echizenya/.linuxbrew/Library/Taps/homebrew/homebrew-core --config core.autocrlf=false --depth=1 -q Error: Failure while executing: /home/echizenya/.linuxbrew/bin/brew tap homebrew/core -q
残念ながら、このエラーを見て、どのように対処すれば良いのか今の自分には分かりません。
—
ところで、このフォーラムはWordPressに関する問題について、質問・議論をする場所で、
composerやbrewコマンドそのものについて、お話し合いをする場所ではないと思います。なので、WordBench大阪のもくもく会でどなたかにお聞きするか、また別の機会でWordPressに
詳しいエンジニアの方に、brewコマンドとcomposerのインストールについてお聞きしたいと思います。わたしの力量不足でアドバイスを生かすことができず、まことに恐縮です。
アドバイスありがとうございました。フォーラム: テーマ
返信が含まれるトピック: 自作テーマ作成後のチェックについて@toro_unit さん。
PHP_CodeSnifferのご紹介ありがとうございます!
ただそのツールの使用以前にbrewコマンドでcomposerをインストールができず作業が止まっています。さくらのVPS(CentOS6系)において、今回の質問に関するWordPressサイトとほとんど同じのサイトを
すでにインストールしています(普段は電源を停止)ので、そこでPHP_CodeSnifferを利用しようと考えています。まずキータの記事を参考にしながら、brewコマンドのインストールができたと思います。
brew -v Homebrew 0.9.8 (no git repository) Homebrew/homebrew-core N/A