私はWordPressプラグインを使っています。すべてうまくいきます。 404ページを開いたときに実行すると、この通知が表示されます。
Notice:D:\ MYWEB\InstantWP_4.3.1\iwpserver\htdocs\word-content\plugins\sama-author-review\user-rate.phpの49行目にある非オブジェクトのプロパティを取得しようとしています
行49は次のようになります。
'nonce' => wp_create_nonce('ajax-user-rate-nonce-'. $post->ID)
ここでのコード:
/**
* enqueue scripts used in frontend
*
*/
function sama_enqueue_scripts() {
global $post, $sama_author_review;
$ajax_vars = array(
'url' => admin_url( 'admin-ajax.php' ),
'nonce' => wp_create_nonce('ajax-user-rate-nonce-'. $post->ID)
);
// see author-review.php
wp_localize_script( 'review', 'ajax_user_rate', $ajax_vars );
}
これらのエラーを解決するための簡単な修正はありますか?
$post
グローバルが404
ページに設定されていないため、エラーが発生します。
どちらでも確認できます
$post
が設定されているか
現在のページが404ページの場合は保釈
上記のすべてを行います
/**
* enqueue scripts used in frontend
*
*/
function sama_enqueue_scripts() {
global $post, $sama_author_review;
if ( !isset( $post ) )
return;
$ajax_vars = array(
'url' => admin_url( 'admin-ajax.php' ),
'nonce' => wp_create_nonce('ajax-user-rate-nonce-'. $post->ID)
);
// see author-review.php
wp_localize_script( 'review', 'ajax_user_rate', $ajax_vars );
}
または
/**
* enqueue scripts used in frontend
*
*/
function sama_enqueue_scripts() {
global $post, $sama_author_review;
if ( is_404() )
return;
$ajax_vars = array(
'url' => admin_url( 'admin-ajax.php' ),
'nonce' => wp_create_nonce('ajax-user-rate-nonce-'. $post->ID)
);
// see author-review.php
wp_localize_script( 'review', 'ajax_user_rate', $ajax_vars );
}