フォーラムへの返信

15件の返信を表示中 - 151 - 165件目 (全179件中)
  • トピック投稿者 echizenya

    (@echizenya)

    @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)の導入ができます。早急にインストールするようにいたします。アドバイスありがとうございました!

    トピック投稿者 echizenya

    (@echizenya)

    @ishitaka さん。
    たびたびのアドバイスありがとうございましたありがとうございます。

    スマホ(ブラウザ)はなんでしょうか?

    自分はスマホはAndroidでブラウザはChromeを使っています。
    PCで”android スマホ キャッシュクリア”を検索して、ヒットしたいくつかのページに基づいてキャッシュを削除すると、
    パンくずリストが最後まで表示されるようになりました。合わせて自分が使っているエミュレーターでも同様に表示されました!

    最後まで根気よく付き合ってくださって、感謝に耐えません。本当に助かります。
    今後ともどうぞよろしくお願いします

    • この返信は6年、 8ヶ月前にechizenyaが編集しました。
    • この返信は6年、 8ヶ月前にechizenyaが編集しました。
    • この返信は6年、 8ヶ月前にechizenyaが編集しました。
    トピック投稿者 echizenya

    (@echizenya)

    @ishitaka さん。追加のコメントで恐れ入ります。
    本番サーバーでもstyle.cssは

    /*@media(max-width: 599px) {
      .bread li:last-child {
        text-indent: -9999px;
      }
    }*/

    としていますが、やはりスマホにおけるパンくずリストの記事タイトルは表示されません。

    トピック投稿者 echizenya

    (@echizenya)

    @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/

    です。加えて本番用サーバーのアドレスで、スマホの見た目を確認するサイトのキャッシュをクリアしたり、自分のスマホで確認しても記事タイトルは表示されません。

    もし今回のコメントが当初の質問から外れているようでしたら、おっしゃってください。この質問は解決済みとして、別に質問を投稿します。いかがでしょうか?

    トピック投稿者 echizenya

    (@echizenya)

    @ishitaka さん
    CSSについてもアドバイスをいただきありがとうございます。

    単純に丸ごと削除するだけていいと思いますが・・・どうでしょうか?

    先ほど私のコメントにおいて「原因と対策」が一つ漏れておりました。

    /*
    @media(max-width: 599px) {
      .bread li:last-child {
        text-indent: -9999px;
      }
    }
    */

    対策の最初にメディアクエリの部分を丸ごとコメントアウトしました。
    ですが、スマホにおけるパンくずリストの最後尾には、ブログの記事タイトルをつけることはできませんでした…

    念のため本番サーバーでも当該箇所をコメントアウトをしましたが、
    やはりパンくずリストの最後尾に表示されるはずのブログタイトルは表示されませんでした。
    (https://goo.gl/ikoS56 にローカル開発環境と本番サーバーの内容について比較した画像を追加しました)

    いかがでしょうか?

    トピック投稿者 echizenya

    (@echizenya)

    @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=1286749

    3. 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フォーラム以外のところで質問するようにします。

    ありがとうございました。今後ともどうぞよろしくお願いします。

    トピック投稿者 echizenya

    (@echizenya)

    @colorfullifeinfo さん。
    フォローコメントありがとうございます。

    冒頭の2行を省略してしまっています、分かりにくくて申し訳ございません

    いえ、とんでもないです。私も @colorfullifeinfo さんの意図が汲めず、恐れ入ります。

    投稿本文が表示されなくなる理由としては、グローバルに$contentが無いので、カラの文字列が返るからですね

    アドバイスありがとうございます。下記のページを見ることで、関数内でグローバル変数の宣言をすることが分かりました。

    http://wpperson.net/biginner/95/
    http://php.net/manual/ja/language.variables.scope.php

    今後ともどうぞよろしくお願いします。

    トピック投稿者 echizenya

    (@echizenya)

    @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が編集しました。
    トピック投稿者 echizenya

    (@echizenya)

    @nobita さん。

    要素を選択して右クリック「Edit as HTML」を選択してみて、テキストエリアのHTMLを確認

    アドバイスに従って操作をしたところ、下記の画像の通り、特殊文字が文字実体参照に変わっていることが
    はっきりと分かりました!おかげさまで「もやもや」がスッキリしました。

    http://takaiba.net/wp_question/5.png

    的確なアドバイスありがとうございます。

    • この返信は6年、 11ヶ月前にechizenyaが編集しました。
    トピック投稿者 echizenya

    (@echizenya)

    @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が編集しました。
    トピック投稿者 echizenya

    (@echizenya)

    @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.

    実際のデータベースの中身はエスケープ記号がついているかアスキー番号の文字を指定する記述になっているのではと思います。

    恐れ入ります。この場合、まずどのデータベーステーブルを確認すればよろしいでしょうか?

    たびたびの質問で誠に恐れ入りますが、ご確認よろしくお願い申し上げます。

    フォーラム: テーマ
    返信が含まれるトピック: 自作テーマ作成後のチェックについて
    トピック投稿者 echizenya

    (@echizenya)

    @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/0XXPP5

    2.

    $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/BSGPjr

    3.

    こういうやつあったんですね、単に抜粋が正常に動作するかどうかをチェックする事を促進しているだけで、エラーがあるという事ではないんではないでしょうか?

    個人的な見解で恐れ入りますが、それほど重要な指摘ではないように思いますので、この指摘についてはそのまま何もしないようにいたします。

    以上、よろしくお願い申し上げます。

    フォーラム: テーマ
    返信が含まれるトピック: 自作テーマ作成後のチェックについて
    トピック投稿者 echizenya

    (@echizenya)

    【追記】
    @toro_unit さん。
    本来ひとつのコメントで返信すべきですが、まとめてコメントしようとすると、投稿を受け付けてもらえなかったので、2分割させていただきました。お手数をおかけして恐れ入ります。今後ともどうぞよろしくお願いします。

    フォーラム: テーマ
    返信が含まれるトピック: 自作テーマ作成後のチェックについて
    トピック投稿者 echizenya

    (@echizenya)

    @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のインストールについてお聞きしたいと思います。

    わたしの力量不足でアドバイスを生かすことができず、まことに恐縮です。
    アドバイスありがとうございました。

    フォーラム: テーマ
    返信が含まれるトピック: 自作テーマ作成後のチェックについて
    トピック投稿者 echizenya

    (@echizenya)

    @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
15件の返信を表示中 - 151 - 165件目 (全179件中)