echizenya
フォーラムへの返信
-
フォーラム: 使い方全般
返信が含まれるトピック: PHPのzipモジュールをインストールすることの利点@munyagu さん。
また、アップデート処理に使われる処理の効率が良ければ、メンテナンス終了後のメモリ空き容量も多いと予想されるので、サイトのパフォーマンスが良いかもしれません。しかしこれはほんの微々たるもので、サイトを閲覧している人が体感できるレベルではないでしょう。
詳細なコメントありがとうございます。
他の方からもいただいたコメントと合わせて参考にして、zipモジュールを実際にインストールするべきかどうか検討します。今回の質問は「解決済み」とします。今後ともどうぞよろしくお願いします。フォーラム: 使い方全般
返信が含まれるトピック: PHPのzipモジュールをインストールすることの利点@ishitaka さん
たびたびのコメントありがとうございます。この個人データの中身については私は使用したことがないので分かりません。
コメントしていただいた内容に基づいてGoogleで調べていると、このような記事がヒットしました。
https://studiosero.net/forlife/web/24437/
この記事を読むと ishitaka さんがおっしゃる「個人データ」とは何のことを指すのかよく分かりました。
今後ともどうぞよろしくお願いします。フォーラム: 使い方全般
返信が含まれるトピック: PHPのzipモジュールをインストールすることの利点@ishitaka さん
いつもコメントありがとうございます。あと、個人データのエクスポートなどでエラーが発生します。
ここでいう個人データとは具体的に何を指すのでしょうか?
例えば、WordPressにログインするためのユーザー名やパスワードなども含まれるのでしょうか?
たびたびの質問で恐れ入ります。もしご存知であればご教示を願います。フォーラム: 使い方全般
返信が含まれるトピック: PHPのzipモジュールをインストールすることの利点@munyagu さん。
詳しいコメントありがとうございます。PHP の拡張機能はC言語で書かれているため、高速で処理効率も良いです。一方、PclZip での処理は拡張機能を使うのに比べて低速で処理効率も悪いです。
プラグイン・テーマ・WordPressのアップデートパッケージを解凍するために、
C言語によるPHPの拡張機能を使うことで、ブログ記事を読む人にとって何かメリットは発生するのでしょうか?
(例:ブラウザが記事を読み込むスピードが速くなるなど)たびたびの質問で恐れ入ります。もしご存知であればご教示を願います。
フォーラム: テーマ
返信が含まれるトピック: フィルターフックでrel=”noopener noreferrer”を追記する方法@takayukister さん。
おかげさまで問題を解決することができました!改めてお礼を申し上げます。フォーラム: テーマ
返信が含まれるトピック: フィルターフックでrel=”noopener noreferrer”を追記する方法@rocketmartue さん。
コメントありがとうございます。add_filter( 'the_content', 'wp_targeted_link_rel' );
必要なコードはこれだけです。ご指摘ありがとうございます。functions.phpの最下行に
add_filter( 'the_content', 'wp_targeted_link_rel' );
のコードのみをつけました。
そうすると、target="_blank"
属性があって、かつrel="noopener noreferrer"
が必要なリンク(aタグ)にrel="noopener noreferrer"
を追加することができました。アドバイス大変助かります。問題を解決することができました。今後ともどうぞよろしくお願いします。フォーラム: テーマ
返信が含まれるトピック: フィルターフックでrel=”noopener noreferrer”を追記する方法@takayukister さん。
お忙しいところたびたびのアドバイスありがとうございます。いただいたアドバイスについて以下4点をご回答申し上げます。1. “Fatal error: Cannot redeclare”について
WordPress が標準で用意している wp_targeted_link_rel() を使えば要望されている処理が可能なので独自に関数を定義する必要はありません。
fuctions.phpの最下部に下記のコードを追記しました。
function wp_targeted_link_rel( $text ) { // Don't run (more expensive) regex if no links with targets. if ( stripos( $text, 'target' ) !== false && stripos( $text, '<a ' ) !== false ) { if ( ! is_serialized( $text ) ) { $text = preg_replace_callback( '|<a\s([^>]*target\s*=[^>]*)>|i', 'wp_targeted_link_rel_callback', $text ); } } return $text; } add_filter( 'the_content', 'wp_targeted_link_rel' );
この状態でfuctions.phpを保存してリロードをすると、ブログサイトに下記の文言でエラーが表示され、サイト全体が閲覧できない状態になります。
Fatal error: Cannot redeclare wp_targeted_link_rel() (previously declared in /var/www/html/wp-includes/formatting.php:3147) in /var/www/html/wp-content/themes/mytheme/functions.php on line 277 サイトに重大なエラーがありました。
エラーの文言を読むと「同じ関数が二重に宣言されている」と指摘されているように解釈ができます。
2. PHP関数で二重定義を回避する方法
“php 関数 二重 回避”というキーワードを使って、Google検索をしました。すると以下のQ&Aページを見つけることができました。
function2重定義回避について
https://teratail.com/questions/51695このページによると、PHP関数で二重定義を回避するためには元々の関数を定義しているファイルを書き換えることがベストアンサーとされています。ただ、WordPressにおいてwp-includes/formatting.phpはテーマファイルのように、WordPress開発者ではない方が任意で書き換えられるファイルではないと思います。
3. 現在の状況
1. で示したコードを使うとサイトが表示されないため、上記のコードを削除してる状態でブログサイトを運営している状態です
4. 今後の質問について
私が @takayukister さんの意図を汲むことができなくて、なかなか解決にいたらずまことに恐縮です。もしお手数がかかるようようでしたら、別途質問を投稿するつもりです。(「wp_targeted_link_rel関数を使ったときに関数の二重定義を回避する方法」などと言うタイトルで)
いかがでしょうか?ご意見をお聞かせいただければ幸いです。以上、よろしくお願い申し上げます。
フォーラム: テーマ
返信が含まれるトピック: フィルターフックでrel=”noopener noreferrer”を追記する方法@takayukister さん。
コメントありがとうございます。改めてお礼を申し上げます。
いただいたコメントについて、4点ご回答いたします。各回答はクラシックエディタを使っているという前提です。もし1の回答について何か気が付いた点があり、その点についてお知らせくだされば大変助かります。—
1. wp_targeted_link_rel_noopener_noreferrer関数の追加
フィルターフックは the_content を、フィルター関数には wp_targeted_link_rel() を使えば実現可能と思います。
いただいたアドバイスにもとづいて
function.php
に以下のコードを追記しました。// noopener noreferrer属性を付加する関数 function wp_targeted_link_rel_noopener_noreferrer( $text ) { if ( stripos( $text, 'target' ) !== false && stripos( $text, '<a ' ) !== false ) { if ( ! is_serialized( $text ) ) { return str_replace('target=\"_blank\"','target=\"_blank\" rel=\"noopener noreferrer\"', $text ); } } return $text; } // 投稿した記事が読み込まれた時点でwp_targeted_link_rel_noopener_noreferrer関数を実行する if ( !is_admin() ) { add_filter( 'the_content', 'wp_targeted_link_rel_noopener_noreferrer', 10, 2 ); }
ですがこのコードを追記しても、
target="_blank"
属性があって、かつrel="noopener noreferrer"
が必要なリンク(aタグ)にrel="noopener noreferrer"
が追加されることはありませんでした。2. ヘルプが必要なページの差し替え
恐れ入ります。質問文で「ヘルプを必要とするページ」の提示が間違っていました。下記のURLに差し替えて確認していただければ助かります。
https://e-yota.com/weblearning/post-688/
差し替えた理由は「ヘルプを必要とするページ」の記事で使っているaタグは、そもそも
target="_blank"
を使っていなかったことに気が付いたからです。上記の記事のリンクではtarget="_blank"
を使っていますが、rel="noopener noreferrer"
が使用されていません。3. アクセシビリティの課題について
参照された記事に示されているセキュリティとパフォーマンス上の問題のほかに、ユーザーの意図しない挙動により混乱を生じさせるアクセシビリティ上の問題もあるので注意が必要です。
アクセシビリティについてもご指摘いただきありがとうございます。
span
タグを使ってアクセシビリティの向上を図ることについては、この質問が解決済みになったあとに別の質問として投稿いたします。4. 現在使用しているコード
1.で示したコメントは一旦削除した上で、各ブログ記事を公開している一般公開している状況です。
—
以上、ご確認よろしくお願い申し上げます。
- この返信は4年前にechizenyaが編集しました。理由: 必要なタグをつけることを忘れていたため編集
フォーラム: テーマ
返信が含まれるトピック: フィルターフックでrel=”noopener noreferrer”を追記する方法@takayukister さん。
コメントありがとうございます!ここ1、2日の間、他の用事をこなしていたため、内容を精査することができませんでした。とり急ぎお礼を申し上げます。いただいたアドバイスでどのような結果が出たか改めてお知らせ申し上げます。フォーラム: プラグイン
返信が含まれるトピック: Main-thread workの読込時間を短縮させるプラグイン@munyagu さん。
いつも丁寧なコメントありがとうございます。Evalute Script で表示されるのはどれも adsbygoogle.js のものです。時間を短縮すべきは広告のスクリプトということじゃないでしょうか。
ヘルプが必要なブログサイトはGoogle Adsenseによる収益を目的としています。収益に貢献しない広告はなるべく削除していますので、”Script Evaluation”については諦めます。
※data-src がセットされている img が無いので Lazy Load は効いてるのかどうか分かりませんね。
data-srcという属性は初めて知りました。以下のブログ記事で説明されているようなLazy Loadは機能していないと思います。とりあえずこの質問は解決済みとします。今後ともどうぞよろしくお願いします。
フォーラム: 使い方全般
返信が含まれるトピック: wp media regenerateコマンドからwebpファイルを作成する方法@munyagu さん。
コメントありがとうございます。>EWWW Image Optimizer の一括最適化ではダメだったんでしょうか?
EWWW Image Optimizer の一括最適化はまだやっていません。理由は以下の3点によります。
1.
EWWW Image Optimizerを使って画像ファイルをWebPに変換する方法を教えていただいた方が、
WP-CLIを勧めてくださったため。このとき[メディア] → [一括最適化] → [最適化されていない画像をスキャンする]という方法について、まったく言及されませんでした。2.
[メディア] → [一括最適化]の画面を読むと、このような注意文が書かれています。>一括最適化は元の画像を変更するため、元に戻すことはできません。続行する前に、必ず画像のバックアップを取ってください。
1でWebPに画像を変換する方法を教えてくださった方は、wp media regenerateコマンドを使用すると、既存のjpgやpngファイルも残ることを説明していただきました。
一方で[一括最適化]の画面ではpgやpngファイルが残るかどうかよく分かりません(ファイル・データベースのバックアップは1日1回取るようにしています)。
3.
Google検索でEWWW Image Optimizerを使って一括最適化する方法を探すと、2通りの方法が出てきます。
自分が運営しているブログサイトにとってどちらの方法が良いのか分かりませんA. 「再最適化を強制」をチェック
– https://agohack.com/webp-conversion-ewww/
B. 「再最適化を強制」をチェックしない
– https://re-lifework.com/ewww-image-optimizer-webp
– https://wp0.jp/ewww-image-optimizer-webp/—
以上、ご確認よろしくお願いします。
フォーラム: テーマ
返信が含まれるトピック: get_postsの配列を制御する方法を教えてくださいフォーラム: テーマ
返信が含まれるトピック: get_postsの配列を制御する方法を教えてください@ishitaka さん。
いつもコメントありがとうございます。
>posts_per_page がシングルクォート (‘) ではなく、バッククォート (`) で括られています。
バッククォートクォートに変更すると意図通りの動作になりました。これからもどうぞよろしくお願いします。
フォーラム: プラグイン
返信が含まれるトピック: Noticeが表示されるWooCommerce PayPal Checkout Gatewayを使っても大丈夫でしょうか?@nao さん。
コメントありがとうございます。>こちらで報告されている内容のようですので、近々更新版が公開されるのではと思います。
了解しました。しばらくたったのちに、再度PayPalのプラグインをインストールしてエラーの有無を確認をします・
今後ともどうぞよろしくお願いします。フォーラム: プラグイン
返信が含まれるトピック: プラグインのWebP Expressを使って画像を表示させる方法を教えてください