yokudekiru
フォーラムへの返信
-
フォーラム: 使い方全般
返信が含まれるトピック: ワードプレスの出力HTMLの保存jim912さん
ob_start では、オプションの引数 output_callback 関数を指定することが可能です。特定ポイントでob_start しておいて、最終の出力時に、コールバック関数で保存処理をすることが可能です。ページキャッシュプラグインは、この手法を使うことも多いです。
今回はフィルターフック内でテンプレートを読み込んで、保存処理を行っていますが、フィルターフックは引数で得られる値を改変するためのもので、関数内でこれ以外の処理を行うのは、本来の意図から外れてしまいます。
いろいろと詳しい解説ありがとうございました。
ご指摘を受けて、output_callback 関数とアクションフックを使って、HTMLの保存をするコードを書いてみました。function callback_html( $buffer ) { /*保存処理*/ return $buffer; } //テンプレートの読み込みの初めでob_startし、HTML取得 add_action( 'template_redirect', function() { ob_start('callback_html'); }); add_action( 'shutdown', function() { ob_end_flush(); });結果、コメントのあるページでも、HTMLを取得することができました!
しかし、結構適当に書いたコードなので、もしまた悪いところとうあれば教えてください。munyaguさん
デンプレートが呼び出された際に実行されるとなると ファイル名が同じだと、入れ子になっ 最も内側のデンプレートが呼び出された際に上書きされてしまいます。
ありがとうございます。
調べてみたのですが、私のテーマでは、コメントがあるからといって新たにテンプレートが呼ばれることはないみたいです。nobitaさん
Simply Staticという、MTのように、サイトの静的htmlを保存するプラグインがあるので、そういったものを参考にしてみてはどうでしょうか?
そういうプラグインもあったのですね!
しかし、そのプラグインは手動でやるみたいなので、自動でHTMLを保存するのとはちょっと違うみたいです。皆さん本当に回答ありがとうございました。とりあえず、jim912のアドバイスのおかげで目的を達成することができたので、トピックを解決積みとさせていただきます。
フォーラム: 使い方全般
返信が含まれるトピック: コメントに日本語がない場合は拒否するコードの記述法が正しいか私はこの方法でうまくいきました。
function mytheme_pre_comment( $comment_post_ID ) { if ( isset( $_POST['comment'] ) && !preg_match( "/[ぁ-んァ-ヶ]+/u", $_POST['comment'] ) ) wp_die( __('<strong>ERROR</strong>: please type a comment in Japanese. 日本語を入力してください。') ); }[ぁ-んァ-ヶ]としてみました。
フォーラム: 使い方全般
返信が含まれるトピック: functions.phpを使っての前にコードを挿入したい皆さん有り難うございます。
>子テーマに header.php をコピーすれば支障ない
この方法もすでにやっていたのですが、エラーが出ました。>通常では、templaete_redirect アクションにフックして、ob_start させるのがよくある手法でしょう。
初心者の私には、ちょっと難しいので保留とさせていただきます。すいません。>gzip圧縮だけをするプラグイン
このプラグインのコードを見たところ、とても簡単でしたのでこのプラグインのコードを子テーマのfunctions.phpに貼り付けることにしました。function wpgzip_comppression(){ if(substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) { ob_start("ob_gzhandler"); }else{ ob_start(); } } add_action("init","wpgzip_comppression");回答してくださった、3名の方本当にありがとうございました。感謝しています。
フォーラム: プラグイン
返信が含まれるトピック: 管理画面で有効化、無効化できるプラグイン制作celtispackというプラグインを参考にすることにしました。
なぜなら、そのプラグインは日本人が作っていてコードの中に日本語の解説があるので初心者の私にでも参考にしやすいかと。Jetpackは初心者の私には難しかったです。Daisuke Takahashiさんありがとうございました。
フォーラム: 自作品の告知
返信が含まれるトピック: ワードプレスを高速化&セキュリティアップするプラグインH Speed WP1.1バージョンを公開して上記の点の修正と、機能追加しました。
https://wordpress.org/plugins/h-seeed-wp/
他にも、アドバイスや感想ありましたら教えてくださると嬉しいです。
フォーラム: 自作品の告知
返信が含まれるトピック: ワードプレスを高速化&セキュリティアップするプラグインH Speed WPアドバイスありがとうございます。
>国際化(翻訳対応)
私もしようと思っていたのですが難しそうなので今後設定しようかと思います。>if (is_page(‘contact’))
管理画面を作るのは難しそうなので、if (is_page())として固定ページ全体に設定しようと重います。>フィードバック先のURL
ワードプレス上でフィードバックを行えるとは知りませんでした。さっそくhttps://wordpress.org/support/plugin/h-seeed-wp に変更したい思います。上記の変更はバージョン1.1で設定しようと思います。改めましてアドバイスありがとうございました。
フォーラム: プラグイン
返信が含まれるトピック: googleのcdnからjqueryを読み込むコードなるほど~
わかりやすい返信有難うございます。該当の場所を削除してもう一度申請してみたので今度は通ると思ってます。ちなみに「その他」か「プラグイン」かどちらから投稿すればいいのか分からなかったのですが「プラグイン」が正解だったようですね。ご迷惑をかけてすいませんでした。
要素を検証してみまして、いくつかのエラーが原因であることがわかったためこのページを参考にして
define('SCRIPT_DEBUG', true);をwp-config.phpに入れたところとりあえず直りました。hogetanさん本当にありがとうございました。
フォーラム: テーマ
返信が含まれるトピック: 子テーマのfunctions.phpによるエラー返信有難うございます。
UTF-8で保存しなければならないことは知っていたのですが、BOMなしで保存しなければいけないことは知りませんでした。
これからは子テーマからfunctions.phpを使えそうです。
フォーラム: インストール
返信が含まれるトピック: ワードプレスのドメインの変更詳しく分かりやすい説明をありがとうございます。
できるかどうか少し不安ですがmegane9988のを参考にしてやらせて頂こうと思います。成功した時には、ここでまた報告させていただくのでよろしくお願いします。
フォーラム: インストール
返信が含まれるトピック: ワードプレスのドメインの変更かなり情報不足でしたね。すいません。
サーバーはエックスドメインのレンタル無料サーバーを使っていて、現在のドメインはhttp://allstudents.wp.xdomain.jp/、これをhttp://allstudents.xyz/に変更したいと思ってます。
Googleでは「ワードプレス ドメイン変更」と検索しましたがサイトごとに異なる方法が書かれており、どれが最適な方法なのかが分かりません。
他にも情報を足して置くと、ワードプレスは最新版(4.2.2)、FTPやphpMyAdminも使えます。
これでも情報不足でしたらすいません。
フォーラム: その他
返信が含まれるトピック: サブドメインから独自ドメインへのドメイン変更ごめんなさい
サイトとはワードプレスのことです。