it-swarm.com.de

Nur auf der 404-Seite erhalten Sie die Notiz: Versuchen, die Eigenschaft eines Nicht-Objekts auf nonce zu erhalten

Ich benutze ein WordPress-Plugin. Alles funktioniert gut. Beim Öffnen einer 404-Seite erhalte ich folgenden Hinweis:

Hinweis: Der Versuch, die Eigenschaft eines Nicht-Objekts in D:\MYWEB\InstantWP_4.3.1\iwpserver\htdocs\wordpress\wp-content\plugins\sama-author-review\user-rate.php in Zeile 49 abzurufen

Zeile 49 sieht so aus:

'nonce' => wp_create_nonce('ajax-user-rate-nonce-'. $post->ID)

Hier der Code:

/**
 * 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 );
}

Gibt es eine schnelle Lösung, um diesen Fehler zu beheben?

1
Mailmulah

Der $post global ist nicht auf 404 Seiten gesetzt, was zu dem Fehler führt, den Sie erhalten.

Sie können entweder überprüfen, ob

  • $post ist gesetzt oder

  • kaution, wenn die aktuelle Seite eine 404-Seite ist oder

  • führen Sie alle oben genannten Schritte aus

BEISPIEL

/**
 * 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 );
}

oder

/**
 * 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 );
}
2
Pieter Goosen