フォーラムへの返信
-
投稿者投稿
-
何か WordPress のメニュー機能に関連する部分で、独自にコードでカスタマイズをしたり、何らかのプラグインでカスタマイズしてたりということはありませんか?
本来オブジェクトであるべき部分が配列になっていて、それでプロパティにアクセスできない、というエラーに見えます。
nav_menu_item_title
とかwalker_nav_menu_start_el
とか、メニュー関連のフィルターフックは$args
というオブジェクト型の引数が渡されるのですが、なぜかそこが配列になっているっぽいので、カスタマイズの影響でオブジェクトが配列になっているという可能性はあるのかなと…。あと、念の為、下記の場合にどういう出力がされるか教えていただけると助かります。
snow-monkey/app/setup/nav-menus.php
のadd_filter( 'nav_menu_item_title', function ( $title, $item, $args, $depth ) { $show_description = 0 === (int) $depth && 'global-nav' === $args->theme_location;
を
add_filter( 'nav_menu_item_title', function ( $title, $item, $args, $depth ) { var_dump( $args ); $show_description = 0 === (int) $depth && 'global-nav' === $args->theme_location;
に変更
♥ 0Who liked: No user現状、SEO パネルは、その投稿タイプが「カスタムフィールド」をサポートしている場合にのみ表示されるようになっています。
↑のページでいう
supports
のcustom-fields
です。まずはそこが有効化されているかを確認してみてください。
♥ 0Who liked: No userjQuery
とwp
が無いというエラーがでているみたいですね。wp
はブロックエディターの根幹なので、これがないとエディターが全く使えなくなります。Snow Monkey 側で
wp
をどうこうはしていなかったと思うので、プラグインか追加しているコード、あるいはサーバー側に高速化の設定があるならそういうところが気になります。エラーが発生したときに、デベロッパーツールの「ネットワーク」タブを開いて、どのパスのjQuery
やwp
を参照しようとしているのか、あるいは参照自体していないのか、また、他にどういうパスのファイルを参照しようとしているのかを調べると、何かヒントがあるかもしれません。良かったです!
再保存せずにちゃんと表示できるように修正できたらまた書き込みます。
♥ 0Who liked: No userルートで表示するように変更したところ、カスタム投稿のアーカイブページからの検索結果が表示されるようになりました。
ありがとうございます!やはりサブディレクトリだとだめみたいですね…。
テンプレートに home.php が使われているのを確認していますので、 Snow Monkey Search が動作する「ブログのトップ(home)」という事のはずだと思うのですが、認識は合っていますでしょうか。
あっています!
いくつかの環境で試していたところ、再現できたので調査してみました。検索ボックスの設定の「投稿タイプ」のところを、一度「投稿」以外に変えて保存し、再度「投稿」に戻すと表示されるようになりました。
検索フォームを新規作成したときに「投稿タイプ」がデフォルトで「投稿」になっているのでそのまま作成されたのだと思います。まだなぜかはわかりませんが、どうもそれだとちゃんと home に表示されないみたいです。これから詳しく調査し、修正を入れていきます。
ひとまず、前述の方法で表示されるようになるか試してみてください!
再現できました!
まだ根本原因の特定には至っていないのですが、どうも「同期パターン」の中で「項目ブロックの子ブロック」を使っていると現象が発生してしまうようでした。
– 非同期パターンにする
– 項目ブロックではなくカラムブロックを使うでとりあえず現象が発生しないようにはできました。
根本原因についてはこれから調べていきます…!♥ 0Who liked: No user3件記事に入れていて、3件
Minified React error #185
というメッセージがあるので、それが怪しい気がします。ぐぐってみると、Minified React error #185
はMaximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops.
という意味らしくて、つまり描画が無限に繰り返されるためにエラーになる、ということみたいです。フリーズすると言われていたと思うので、それとも合致するかなと。ただ、なんで無限に繰り返されるのかはわからないんですよね…。同じ形のものをもう一回新しいパターンとして作った場合、同じエラーが発生するか確認してもらえますか?
♥ 0Who liked: No userWordPress のバージョンは、6.6.1 です。
僕の環境(6.6.1)でも確認してみたら、確かに「注意: このプラグインは現在使用中の WordPress バージョンではテストされていません。」と表示されました。ちょっとなぜかわかりませんが、特に影響は無いので、とりあえず無視してもらって大丈夫です。
こちらでご確認いただけるかと思います。
ありがとうございます、助かります!
確認してみたところ、検索ボタンを押すとhttps://xs217022.xsrv.jp/wpiwaki/wpiwaki/custom_posttype/?s=&snow-monkey-search=1473
という URL に遷移していました。本来は
https://xs217022.xsrv.jp/wpiwaki/custom_posttype/?s=&snow-monkey-search=1473
が正しいので、なぜか
/wpiwaki
が余分に追加されてしまっているようです。
現状 WordPress がドメイン直下ではなくてサブディレクトリにインストールされているようですが、Snow Monkey Search にサブディレクトリではうまく動かない不具合があるのかもしれません。一度サブディレクトリの環境を用意して調査してみます。「ブログのトップ(home)」というのは、表示設定で「最新の投稿」としている時だけでしたでしょうか。他に手段があったかどうか、ど忘れしてしまいました。
「最新の投稿」の場合はサイトのトップページがそれになります。固定ページを割り当てている場合は「投稿ページ」に割り当てたページがそれになります。
♥ 0Who liked: No userなどカテゴリー毎の記事一覧ページの上部に、絞り込み検索が表示されるものと思っていますが、違いますでしょうか?
あ、すみません、表示されるのは、現状「ブログのトップ(home)」と「カスタム投稿アーカイブ」のみとなります。
さらに詳細表示では「注意: このプラグインは現在使用中の WordPress バージョンではテストされていません。」と表示されました。
WordPress のバージョンは何ですか? Snow Monkey Search の動作には 6.6 以上が必要です。
しかしそれはそれで、キーワード検索してみても「ページが見つかりませんでした。お探しのページは移動したか削除されています。この検索ボックスから検索してください。」と結果が出力されませんでした。
んーこれはもしかしたら不具合かもしれません。実際に動作が確認できるページはありますか?
♥ 0Who liked: No userありがとうございます。
こちらの環境にインポートして記事に挿入してみたのですが、普通に挿入できました。なので原因はまだわからないのですが、一つ気になったのは、ブロックの構造が古い?のかブロックバリデーションエラー(保存されている HTML と本来出力されるべき HTML の構造が違う)がでていたので、それは直してみたほうが良いかもしれません。
そのパターンの編集画面にいったら「ブロックのリカバリーを試行」というボタンがでると思うので、それをクリックして、でなくなったら保存してください。
♥ 0Who liked: No userこちらも試してみたのですが、現在位置が常にtop:0となるため、移動しませんでした…。
あーなるほど…ドキュメントの0pxじゃなくて画面の0pxになるからだめですね…。(TT)
もしくは、アクション時にフォーム内の.smf-focus-pointではなく、body要素にフォーカスポイントを変更するということは仕様上難しいでしょうか?
この動作は js で実現しているので、フックとかで変えられないんですよね。なのでやはり現状では top でずらすしか無い気がします。
♥ 0Who liked: No userCSS を見た印象だと、確認画面、完了画面用の文言はフォームの中(記事の編集画面ではなくてフォームの編集画面の中で入力している)にあるのかなと思ったのですがどうでしょうか? そうだとすると、
.smf-focus-point
はフォームの最上部にあるから切れずに表示されるのかなと思ったのですが、ちょっと状況がよくわからずでして…。.smf-focus-pointのtop位置を変更した場合の懸念点ってありますでしょうか?
変更することを想定していなかったので、変更するとどういうことが考えられるのかはわからないのですが、送信自体ができなくなるようなクリティカルな問題は発生しないのかなとは思います。
ちなみに、
.smf-focus-point { top: -1000px; }
という指定だと画面幅によって、どこまでずらしたいかが変わってきて -1000px という固定値だと意図しない位置になる場合もあるのかなと思ったので、
.smf-focus-point { position: fixed; top: 0; }
とするとどうでしょうか?
♥ 0Who liked: No user迷惑メールがご自身のメールボックスに届くことが、サイトの問い合わせフォームからメール送信できなくなる原因になることはあまり考えられないかなと思います。
サイトが悪用されて、逆にサイトから大量の迷惑メールを送信している状態であればレンタルサーバー会社からメールの送信機能を止められて、サイトの問い合わせフォームからメール送信できなくなるということはあるかもしれません。
ただ、その場合だとレンタルサーバー会社から通知がくる気がするので、まずは一般的なところから確認するのが良いと思います。メール送信に失敗する原因としてよくあるのは、下記かなと思います。
– フォームの設定画面で管理者宛のメールアドレスが設定されていない
– サイトからメール送信するのに SMTP の設定が必要(参考:https://suzunon.com/word-press/wp-mail-smtp/)まずはフォームの設定画面で管理者宛のメールアドレスが設定されているか確認してみてください。
次に、サイトのメール送信機能自体が生きていか確認するために「パスワードのリセットメール」が送信されるか確認してみてください(参考:https://www.conoha.jp/lets-wp/wp-password-forgot/)。管理者宛のメールアドレスが設定されていて、サイトのメール送信機能自体も生きている場合は、コードを書いたりしてデバッグが必要かもです…。
react-dom.min.js〜
のところが原因となるエラーなのではないかと思うのですが、エラーメッセージが無いですね…ちょっとこのパターンは初めてなのでどういうことかわからないです…。なので、思いつくところからやるしかないかなと思うので、下記をお願いできますでしょうか?
– 別のブラウザだと正しく操作できるか試してみてください。
– 問題のパターンをコピーして、ここに貼り付けることはできますでしょうか?(外観→パターン→マネーキャリアのところにある点が縦に3つあるボタンをクリック→JSON としてエクスポートをクリック)♥ 0Who liked: No user -
投稿者投稿