hokutonojikei
フォーラムへの返信
-
フォーラム: 使い方全般
返信が含まれるトピック: サーバレスポンスが遅い場合の原因の調査方法skillsharejpさんご回答ありがとうございます。申し訳ありません、回答がつかないと思いそのまま放置してしまいました。大変失礼いたしました。
UptimeRobot、これも使用したことがありませんでした。また自分なりに調べてみたいと思います。ありがとうございました。
フォーラム: 使い方全般
返信が含まれるトピック: サーバレスポンスが遅い場合の原因の調査方法KOJIさんご回答ありがとうございます。申し訳ありません、回答がつかないと思いそのまま放置してしまいました。大変失礼いたしました。
Query Monitorは使用したことがありませんでした。Xdebugにもそういった機能があるんですね!?また自分なりに調べてみたいと思います。ありがとうございました。
フォーラム: 使い方全般
返信が含まれるトピック: サーバレスポンスが遅い場合の原因の調査方法Aki Hamanoさんご回答ありがとうございます。申し訳ありません、回答がつかないと思いそのまま放置してしまいました。大変失礼いたしました。
プラグインはAcunetix WP Securityというものを停止したら速度が回復したのでこちらが原因だったのだと思います。開発者ツールのところは記憶ベースで恐縮なのですが、サーバレスポンス自体が遅く数分待った段階でレンダリングが始まるという動きだったと記憶しております。やはりデベロッパーツールが有効だと再認識できました。ありがとうございました。
フォーラム: 使い方全般
返信が含まれるトピック: 管理画面ページに入ろうとすると502表示nrknktさん、こんにちは。
以下バックアップを取った上で
自分だったら試すことを書いてみます。1.テーマをTwenty Twenty-Threeに変更してみる。
https://jp.godaddy.com/help/change-my-wordpress-theme-in-the-database-26331
これで治ればテーマに原因があることがわかります。2.test.phpを作成しルートディレクトリに保存してアクセスしてみる。
<?php
phpinfo();
?>
これで表示されればPHPは正しく動いている=WordPressに原因がありそうだということがわかります。3.WordPressコアファイルを最新にしてみる。
WordPressコアファイルとは
.htaccess
index.php
wp-config.php
wp-contentディレクトリ
以外のファイル、フォルダを指します。
これで表示されればコアファイルに原因があったことがわかります。4.IPアドレスを調査する。
サイトにアクセスする際にデベロッパーツールの[ネットワークタブ][headersタブ]を確認し[IPアドレス]の欄を確認します。
これが自分の設定しているサーバと合っているかを確認します。
違っていればDNSの設定があっていなそうという予想がつきます。少々PHPやMySQLなどの知識が必要になりますので
ご自身で難しいようでしたらどなたかに調査を依頼するのもありだと思います。フォーラム: 使い方全般
返信が含まれるトピック: 下書きURLの埋込方法私なりに少し調べてみましたが難しそうですね。
埋め込みというのはおそらく公開されているURLを解析して実現しているっぽいです。
https://ja.wordpress.org/support/article/embeds/#%e3%81%a9%e3%82%93%e3%81%aa-url-%e3%81%a7%e3%82%82%e3%81%93%e3%81%ae%e6%a9%9f%e8%83%bd%e3%82%92%e4%bd%bf%e3%81%88%e3%81%be%e3%81%99%e3%81%8b具体的にはoembedという技術を採用しているとのことでした。
https://oembed.com/なので下書きのURLにおいては独自に下書きのURLを解析して
埋め込むというプログラムを書くしかなさそうな感じがしました。
あとこちらも未確認ですがRSSで下書きのデータが吐き出されていれば
というところですがこちらもプログラムで実装するしかないと思います。あとはプラグインでそういったものがあるかどうかですね。
すみません、私の知識ではこれくらいしかわかりませんでした。
他の方で知っている方がいましたらお願いいたします。フォーラム: 使い方全般
返信が含まれるトピック: フォーム項目のファイル名こんにちはContactform7の「フォーム」の内容はデータベースに保存されていると思います。
ファイルで書き出している形でしたらバックアップの中にsqlの拡張子かxmlの拡張子で吐き出されている場合もあると思います。(圧縮されていれば.xml.gzみたいになっている場合もあります)そのファイルを開いてContactform7の「フォーム」の内容にある単語で検索してヒットすればバックアップ時にデータが含まれていることがわかります。
ただバックアップの取り方によってはデータベースの内容で保存しないとしている可能性も0ではないのでそちらも合わせて確認が必要ですね。
DB内の位置も確認してみましたが
Contactform7の「フォーム」の内容は
wp_postsテーブルに保存されていました。
当方環境
WordPress ver5.9.3
Contact Form 7 ver5.5.4以下mysqlが触れる方であれば
select * from wp_posts where id = ここに調べたいフォームのIDを入れる;
のようなコマンドで調べることができると思います。
フォームのIDの部分はWordPressの管理画面でフォームの編集画面にアクセスした時のURLにpost=xxxxという箇所があると思いますのでそれがidになります。まずはDBのバックアップ内をご確認するのが良いと思います。
※add confirmの方は確認しておりませんので同様の方法で確認してみてください。- この返信は2年、 7ヶ月前にhokutonojikeiが編集しました。
- この返信は2年、 7ヶ月前にhokutonojikeiが編集しました。
フォーラム: 使い方全般
返信が含まれるトピック: 下書きURLの埋込方法こんにちは、以下解釈が違っていたらすみません。
投稿の編集画面でプレビュー→新しいタブでプレビューで開くとブラウザにURLが発行されます。
そのURLをコピーします。
別の投稿でリンクに変換とすると一応リンクは機能しますね。または下書きの投稿を一瞬公開にしてアドレスをコピー
それを別投稿に貼り付けて下書きに戻すという方法もあります。ただどちらも下書きのリンクに飛んだ際はログインしていなければ404が返ってきて
ログインしていれば見られるという動きになりました。解釈が違っていたらご指摘をお願いいたします。
フォーラム: その他
返信が含まれるトピック: htmlの閉じタグをつけるかどうかご返信いただきましてありがとうございます。
コーディング規約は xhtml に基づいたものだったんですね。
グーテンベルクの動きを見てもhtml5ですし
xhtmlも個人的観測範囲では国内での利用は
ほとんど聞かなくなっているのでhtml5という基準で考えてみます。
参考になりました。ありがとうございます。フォーラム: 使い方全般
返信が含まれるトピック: WP_HOME、WP_SITEURLの設定返信ありがとうございます!
確認が遅くなり申し訳ありません。
ツールありがとうございます。
自分のDBスキルでは理解するにはもう少し時間がかかりそうなので
もう少し基礎を勉強してから改めて見てみたいと思います。>WP_HOME を変更したり管理画面から変更しても、記事中やメタデータに古いURLが残っています。
このため、新しいURLでのサイト遷移中に古いURLに遷移してしまったり、リダイレクトループなどの現象が発生したりします。今回の問題もおっしゃる通りの現象だと思います。
メタデータにも残るというところが知りたかったので
大変参考になりました。
まずはURLを変換する方法を模索してみます。貴重な情報ありがとうございました!
フォーラム: 使い方全般
返信が含まれるトピック: wpdbでのp.という記述につきましてmunyaguさん、ご返信ありがとうございます。
コアに記述があったんですね。
自分でも再度確認してみます。SQLのページも参考になります。
こんな方法で確認ができるんですね。原因がわかり助かりました。
ありがとうございました!フォーラム: 使い方全般
返信が含まれるトピック: 表示設定をした時にリダイレクトループが発生解決いたしました。貴重なスペースありがとうございました。
cloudfront側の設定が違っていたのが原因でした。一応ログ残します。不適切でしたらお手数ですがスレッドごと削除をお願いいたします。
cloudfront管理画面のBehaviorタブの
Cache Based on Selected Request Headersの設定をALLにすると直りました。おそらくヘッダリクエストのところで
リダイレクトループが発生していたのが原因だと予想していますが
wordpressの表示設定をいじった瞬間からリダイレクトループが発生したので
こちらにも質問させていただいた経緯がありました。フォーラム: 使い方全般
返信が含まれるトピック: おすすめのプラグイン開発の構成Okamoto Hidetakaさん、コメントありがとうございます!
すでに購入済みです^^;仰る通りで
当初フックに$thisを追加するくだりがわからず助けられました。
内容も分かりやすく、他にも便利なテクニック満載でかなり勉強になっていますm(_)m
4-5,4-6以外にも関連のありそうなところは見てみたのですが
今回のケースが載ってなかったと記憶しておりますが
見落としがあったのかもしれません。
再度探してみます!ありがとうございます!- この返信は6年、 11ヶ月前にhokutonojikeiが編集しました。
- この返信は6年、 11ヶ月前にhokutonojikeiが編集しました。
フォーラム: 使い方全般
返信が含まれるトピック: 埋め込みページにWPのデータを渡したいこんにちは。page.phpには以下のような形で埋め込まれていると仮定して予想してみます。
qiita.com/kawai_norimitsu/items/bb2eacf2c6b602683b70
上記のようにbody内にjsしかなくjsの画面内にwpから取得した値を表示する際は
wp関数(php)からjsに値を渡す必要がありますが
こういったことでしょうか。やり方は「phpからjavascriptに変数を渡す」で検索すると色々出てくると思います。
埋め込みページに直接PHPで書いてみてもやはりダメでした。
上記の状況であればデベロッパーツールでhtmlソースを確認した際には
データが読み込まれているのではないでしょうか。以上予想ですが違っているようでしたら詳しい状況を書けるようでしたら
また何か解れば書かせていただきます。- この返信は6年、 11ヶ月前にhokutonojikeiが編集しました。理由: リンク追加しました
フォーラム: 使い方全般
返信が含まれるトピック: おすすめのプラグイン開発の構成munyaguさん度々のコメントありがとうございます。
クラス設計ではフレームワークに合わせていつインスタンス化し、いつメンバーに値をセットし、いつ取り出すかを慎重に設計する必要があります。
なるほど、ありがとうございます!参考になりました!
再度プラグインを色々見てみたいと思います。フォーラム: 使い方全般
返信が含まれるトピック: おすすめのプラグイン開発の構成munyaguさんコメントありがとうございます!
実行するのは以下の場所になります。
wp-content/plugins/test-oo-plugin/test-oo-plugin.php
または
themes/page.php
仰る通りフックで実行するかテンプレートで実行すれば
get_post()などの実行はできます。
ただメンバ変数からreturnで値を返したい時に
フックを使う場合だとreturnが返せないと思います。(何か方法があれば知りたいです)public function __construct () { add_action( 'wp', array( $this, 'connect_function' ) ); return $this->base_information; }
↑としてもフック経由で実行された値が入っていない。
public function connect_function () { $this->my_Oo_function(); $this->get_post_id(); return $this->base_information; }
↑こちらも同じ理由
private function get_post_id () { $post_data = get_post(); array_push( $this->base_information, $post_data->ID ); return $this->base_information; }
↑こちらも返るのはconnect_function()の部分までで
結局クラス外に出すことができない?そこでいっそのことpage.phpでクラスをインスタンス化し
関数を定義すれば一応実行させることができました。wp-content/plugins/test-oo-plugin/test-oo-plugin.php class Test_Oo_Plugin { /**コンストラクタを外す public function __construct () { add_action( 'wp', array( $this, 'connect_function' ) ); } */ /** * 基本情報を格納する配列 */ private $base_information = array(); /** * この関数をテーマのpage.phpで呼び出す。 */ public function connect_function () { $this->my_Oo_function(); $this->get_post_id(); return $this->base_information; } /** * 現在のユーザー名を取得し配列に格納 */ private function my_Oo_function () { $my_original_current_user = wp_get_current_user(); array_push( $this->base_information, $my_original_current_user->user_login ); } /** * 現在のIDを取得し配列に格納 */ private function get_post_id () { $post_data = get_post(); array_push( $this->base_information, $post_data->ID ); } } function user_function($information_instans) { foreach ( $information_instans as $key => $value ) { echo '<br><hr><br>' . $key . ':' . $value . '<br><hr><br>'; } }
themes/page.php $test_oo_plugin = new Test_Oo_Plugin(); user_function($test_oo_plugin->connect_function ());
上記で動くことは動きますが以下の点が気になっております。
・後から読んだ際の可読性が悪くなりそう
(この辺りは自分の経験が少ないのでご意見を伺いたいです。)
・処理がテーマ→プラグイン→テーマ・・・となりそうなので
プラグイン内で完結できる方法などがあれば知りたいです。
・get_postなどの関数はグローバル変数に値を保存するように作られていると思います。
今回のようにカプセル化をする必要がないと考えて設計したほうが良いのでしょうか。- この返信は6年、 11ヶ月前にhokutonojikeiが編集しました。理由: 追記しました