Ich erhalte den folgenden Fehler …
Notice: Undefined index: album_tracks_metabox_nonce in /Applications/MAMP/htdocs/TheToasters/wp-content/themes/Toasters/discography-post-type.php on line 124
… wenn ich versuche, einen neuen Eintrag vom Typ “Seite”, “Post” oder “benutzerdefiniert” hinzuzufügen. Wenn ich einen vorhandenen Eintrag bearbeite, funktioniert alles einwandfrei.
Der Fehler scheint sich auf ein Nonce für eine Metabox in dem benutzerdefinierten Beitragstyp “Discography” zu beziehen, den ich erstellt habe. Hier ist der entsprechende Code:
function album_tracks_content( $post ) { wp_nonce_field( 'album_tracks_metabox', 'album_tracks_metabox_nonce' ); $albumTracks = get_post_meta( get_the_ID(), 'album_tracks', true);?> 1. <input type="text" id="track1" name="track1" placeholder="Track name" value="">
2. <input type="text" id="track2" name="track2" placeholder="Track name" value="">
Die genaue Linie 124 ist dies:
if ( !wp_verify_nonce( $_POST['album_tracks_metabox_nonce'], 'album_tracks_metabox' ) )
Wer auch immer Ihr Theme geschrieben hat, hat sich nicht darum gekümmert, die Existenz von Array-Schlüsseln zu verifizieren, bevor Sie sie verwenden. Der Fehler tritt auf, weil der Schlüssel album_tracks_metabox_nonce
nicht im Array $_POST
.
Die Linie sollte wahrscheinlich sein:
if ( !isset($_POST['album_tracks_metabox_nonce']) || !wp_verify_nonce($_POST['album_tracks_metabox_nonce'], 'album_tracks_metabox') ) { // whatever is in the if condition, likely `return` }