-
投稿者投稿
-
2022年1月27日 4:05 PM #97094
【お使いの Snow Monkey のバージョン】16.0.1
【お使いの Snow Monkey Blocks のバージョン】14.0.0
【お使いの Snow Monkey Editor のバージョン】7.0.0
【お使いのブラウザ】Chrome
【当該サイトのURL】https://jhrp.conohawing.com/### 実現したいこと
Trying to get property ‘term_taxonomy_id’ of non-object in〜エラーの解決方法を教えていただきたいです。
### 発生している問題
Word Press5.9へのバージョンアップに伴い、不具合や表示確認などを検証するためにテスト環境にて本サイトのバックアップデータによりWP5.9上でテーマプラグイン共にSnowMonkey最新の対応バージョンで確認しています。
上記ページで「Trying to get property ‘term_taxonomy_id’ of non-object in〜」のエラーがでます。
### 試したこと
non-objectなので、‘term_taxonomy_id’ の値がないから表示できないよ、という内容かなとは思うのですが。
調べてみたものの、エラーの内容自体を深く理解できておらずどのように解決すれば良いのかと思っております。(解決にはならないですが、ブロックを再取得したり、他の投稿カテゴリーを選ぶとこのようなエラーは出ませんでした。)
お手数をお掛け致しますが、ご教授頂けますと幸いです。
♥ 0Who liked: No user2022年1月27日 4:35 PM #97101こちら、次のアップデートで解消されます!
お急ぎの場合はこちらのコードに差し替えてみてください。
2022年1月27日 5:06 PM #971092022年1月27日 5:15 PM #971162022年1月28日 10:04 AM #97172@rumix63 さん
すみません、ちょっと僕が勘違いしていて、この修正ではこの不具合は解消されないようです。僕の環境でエラーが出る状態を再現したいと思うのですが、詳しい設定などを教えてもらえますか?任意のタクソノミーでカスタムタクソノミーを指定し、カスタム投稿(「投稿のビューテンプレート」を使用)を表示しているのかなと思いましたがあっていますか? また、この一覧に関連するなにかをフックでカスタマイズしたり、テンプレートを上書きしたりしていますか?
♥ 0Who liked: No user2022年1月28日 10:07 AM #97174全く同じではありませんが、同様のエラーが出ていますので便乗させてください
【お使いの Snow Monkey のバージョン】16.0.1
【お使いの Snow Monkey Blocks のバージョン】14.0.0
【お使いの Snow Monkey Editor のバージョン】7.0.0
【お使いのブラウザ】Chrome
【当該サイトのURL】### 発生している問題
Attempt to read property “term_taxonomy_id” on null in のエラー
WP5.9へのアップデートをしたところ、任意のタクソノミーの投稿でエラーが出ます。
エディターでは正常に表示されています。### 試したこと
他のカテゴリーを選んでみましたがエラーは同じでした。
2022年1月28日 10:33 AM #97182@westwing さん
ブロックのレイアウトを「カルーセル(リッチメディア)」に変更しても同様のエラーがでますか?♥ 0Who liked: No user2022年1月28日 10:39 AM #971862022年1月28日 10:54 AM #97188@キタジマ タカシ さん
お世話になっております、ご連絡並びにご確認を頂きありがとうございます。
詳しい設定状況ですが、
・投稿のタクソノミー(カテゴリー)ですが、デフォルト機能で設定しているだけで、プラグインや my-snow-monkeyで独自のタクソノミー設定などはしていません。・https://jhrp.conohawing.com/partner_page/
エラーの出るページですが、固定ページに>任意のタクソノミーの投稿 ブロックにて表示。
→他のカテゴリー選択するとエラーは出ない。・>この一覧に関連するなにかをフックでカスタマイズしたり、テンプレートを上書きしたりしていますか?
→関連するフックカスタマイズやテンプレート上書きはしていません。
関連のないページでアクションフックで表示箇所を追加しているのみです。よろしくお願い致します。
まだ情報が足りないようでしたらおっしゃってください、書き込みます!2022年1月28日 11:25 AM #97193@キタジマ タカシ さん
post.phpファイルの内容は下記となります。
$args = wp_parse_args( // phpcs:disable VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable $args, // phpcs:enable [ '_entries_layout' => 'rich-media', '_excerpt_length' => null, '_force_sm_1col' => false, '_infeed_ads' => false, '_item_thumbnail_size' => 'medium_large', '_item_title_tag' => 'h3', '_display_item_meta' => 'post' === $args['_name'] ? true : false, '_display_item_terms' => 'post' === $args['_name'] ? true : false, '_posts_query' => false, ] ); if ( ! $args['_posts_query'] ) { return; } $data_infeed_ads = $args['_infeed_ads'] ? 'true' : 'false'; $force_sm_1col = $args['_force_sm_1col'] ? 'true' : 'false'; ?> <ul class="c-entries c-entries--<?php echo esc_attr( $args['_entries_layout'] ); ?>" data-has-infeed-ads="<?php echo esc_attr( $data_infeed_ads ); ?>" data-force-sm-1col="<?php echo esc_attr( $force_sm_1col ); ?>" > <?php while ( $args['_posts_query']->have_posts() ) : ?> <?php $args['_posts_query']->the_post(); ?> <li class="c-entries__item"> <?php $_terms = []; if ( $args['_display_item_terms'] ) { $_terms = Helper::get_the_public_terms( get_the_ID() ); $_hierarchical_terms = array_filter( $_terms, function( $_term ) { return get_taxonomy( $_term->taxonomy )->hierarchical; } ); if ( $args['_posts_query']->is_tax() || $args['_posts_query']->is_category() || $args['_posts_query']->is_tag() ) { $tax_query = $args['_posts_query']->get( 'tax_query' ); $term = $tax_query ? get_term( $tax_query[0]['terms'][0], $tax_query[0]['taxonomy'] ) : $args['_posts_query']->get_queried_object(); $is_term = ! is_wp_error( $term ) && ! is_null( $term ); $is_the_public_therm = false; foreach ( $_hierarchical_terms as $_term ) { if ( $term->term_taxonomy_id === $_term->term_taxonomy_id ) { $is_the_public_therm = true; break; } } $_terms = $is_term && $is_the_public_therm ? [ $term ] : $_terms; } } Helper::get_template_part( 'template-parts/loop/entry-summary', $args['_name'], [ '_context' => $args['_context'], '_entries_layout' => $args['_entries_layout'], '_excerpt_length' => $args['_excerpt_length'], '_thumbnail_size' => $args['_item_thumbnail_size'], '_terms' => $_terms ? [ $_terms[0] ] : [], '_title_tag' => $args['_item_title_tag'], '_display_meta' => $args['_display_item_meta'], ] ); ?> </li> <?php endwhile; ?> <?php wp_reset_postdata(); ?> </ul>
2022年1月28日 1:34 PM #97225これに置き換えるとどうでしょうか!?
use Framework\Helper; $args = wp_parse_args( // phpcs:disable VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable $args, // phpcs:enable [ '_entries_layout' => 'rich-media', '_excerpt_length' => null, '_force_sm_1col' => false, '_infeed_ads' => false, '_item_thumbnail_size' => 'medium_large', '_item_title_tag' => 'h3', '_display_item_meta' => 'post' === $args['_name'] ? true : false, '_display_item_terms' => 'post' === $args['_name'] ? true : false, '_posts_query' => false, ] ); if ( ! $args['_posts_query'] ) { return; } $data_infeed_ads = $args['_infeed_ads'] ? 'true' : 'false'; $force_sm_1col = $args['_force_sm_1col'] ? 'true' : 'false'; ?> <ul class="c-entries c-entries--<?php echo esc_attr( $args['_entries_layout'] ); ?>" data-has-infeed-ads="<?php echo esc_attr( $data_infeed_ads ); ?>" data-force-sm-1col="<?php echo esc_attr( $force_sm_1col ); ?>" > <?php while ( $args['_posts_query']->have_posts() ) : ?> <?php $args['_posts_query']->the_post(); ?> <li class="c-entries__item"> <?php $_terms = []; if ( $args['_display_item_terms'] ) { $_terms = Helper::get_the_public_terms( get_the_ID() ); if ( $args['_posts_query']->is_tax() || $args['_posts_query']->is_category() || $args['_posts_query']->is_tag() ) { $_hierarchical_terms = array_filter( $_terms, function( $_term ) { return get_taxonomy( $_term->taxonomy )->hierarchical; } ); $tax_query = $args['_posts_query']->get( 'tax_query' ); $term = null; if ( ! empty( $tax_query[0]['terms'] ) && ! empty( $tax_query[0]['taxonomy'] ) ) { $terms = (array) $tax_query[0]['terms']; $term = get_term( $terms[0], $tax_query[0]['taxonomy'] ); } else { $term = $args['_posts_query']->get_queried_object(); } $is_term = ! is_wp_error( $term ) && ! is_null( $term ); if ( $is_term ) { // If there is a taxonomy specification, use it. // However, if the taxonomy does not have a hierarchy, use the taxonomy with a hierarchy. if ( get_taxonomy( $term->taxonomy )->hierarchical ) { $_terms = [ $term ]; } else { foreach ( $_hierarchical_terms as $_term ) { if ( $term->term_taxonomy_id === $_term->term_taxonomy_id ) { $_terms = [ $term ]; break; } } } } } } Helper::get_template_part( 'template-parts/loop/entry-summary', $args['_name'], [ '_context' => $args['_context'], '_entries_layout' => $args['_entries_layout'], '_excerpt_length' => $args['_excerpt_length'], '_thumbnail_size' => $args['_item_thumbnail_size'], '_terms' => $_terms ? [ $_terms[0] ] : [], '_title_tag' => $args['_item_title_tag'], '_display_meta' => $args['_display_item_meta'], ] ); ?> </li> <?php endwhile; ?> <?php wp_reset_postdata(); ?> </ul>
♥ 0Who liked: No user2022年1月28日 2:14 PM #972342022年1月28日 2:56 PM #97240@キタジマ タカシ さん
コードありがとうございました!
post.phpを上記に書き換えたら、エラーは治りました。お忙しいところ、お時間頂戴しまして本当にありがとうございます。
今回のエラーはこちらで何か不要な設定をしていたりで影響があり、アップデートのタイミングで値が取れずエラーになるのでしょうか?
このようなエラーが出るたびに、フォーラムの皆さんに頼ることになってしまうので、もっと理解していかないとです。。今回もありがとうございました。♥ 0Who liked: No user2022年1月28日 2:58 PM #97241 -
投稿者投稿
- トピック「Trying to get property ‘term_taxonomy_id’ of non-object in〜のエラーの解決方法」には新しい返信をつけることはできません。