Antworten auf deine Fragen:
Neues Thema erstellen

[BUG] Eigene Metaboxen bei einem bestimmten Template anzeigen lassen

black-hat

Aktives Mitglied

Hallo liebe Schwarmintelligenz! Ich komme einfach nicht drauf, wo der Fehler ist...

Folgendes: Ich habe für das Impressum eigene Meta-Daten vorgeben wollen, die nur auf der Impressumsseite zu sehen sein sollen.
Problem: Diese werden nicht angezeigt...
So sieht das aus:

Der Code, der in die Funktion.php eingefügt wurde:

Code:
function impressum_add_meta_box()
{
    global $post;

    $pageTemplate = get_post_meta( $post->ID, '_wp_page_template', true );

    if ($pageTemplate == 'template-pages/impressum.php')
    {
        add_meta_box(
            'impressum-impressum', // $id
            __( 'Impressum', 'impressum' ), // $title
            'impressum_html', // $callback
            'page', // $page
            'normal', // $context
            'default'  // $priority
        );
    }
    else {
        echo 'nope';
    }
}


add_action( 'add_meta_boxes', 'impressum_add_meta_box' );

function impressum_html($post) {
    wp_nonce_field( '_impressum_nonce', 'impressum_nonce' );
    ?>

    <p>
        <label for="impressum_firmenname"><?php _e( 'Firmenname', 'impressum' ); ?></label><br>
        <input type="text" name="impressum_firmenname" id="impressum_firmenname" value="<?php echo impressum_get_meta( 'impressum_firmenname' ); ?>">
    </p>
    <p>
        <label for="impressum_inhaber"><?php _e( 'Inhaber', 'impressum' ); ?></label><br>
        <input type="text" name="impressum_inhaber" id="impressum_inhaber" value="<?php echo impressum_get_meta( 'impressum_inhaber' ); ?>">
    </p>
    <p>
        <label for="impressum_anschrift"><?php _e( 'Anschrift', 'impressum' ); ?></label><br>
        <input type="text" name="impressum_anschrift" id="impressum_anschrift" value="<?php echo impressum_get_meta( 'impressum_anschrift' ); ?>">
    </p>
    <p>
        <label for="impressum_telefon"><?php _e( 'Telefon', 'impressum' ); ?></label><br>
        <input type="text" name="impressum_telefon" id="impressum_telefon" value="<?php echo impressum_get_meta( 'impressum_telefon' ); ?>">
    </p>
    <p>
        <label for="impressum_telefax"><?php _e( 'Telefax', 'impressum' ); ?></label><br>
        <input type="text" name="impressum_telefax" id="impressum_telefax" value="<?php echo impressum_get_meta( 'impressum_telefax' ); ?>">
    </p>
    <p>
        <label for="impressum_mobil"><?php _e( 'Mobil', 'impressum' ); ?></label><br>
        <input type="text" name="impressum_mobil" id="impressum_mobil" value="<?php echo impressum_get_meta( 'impressum_mobil' ); ?>">
    </p>
    <p>
        <label for="impressum_e_mail"><?php _e( 'E-Mail', 'impressum' ); ?></label><br>
        <input type="text" name="impressum_e_mail" id="impressum_e_mail" value="<?php echo impressum_get_meta( 'impressum_e_mail' ); ?>">
    </p>
    <p>
        <label for="impressum_persnl_haft_gesellschafter"><?php _e( 'Persönl. haft. Gesellschafter', 'impressum' ); ?></label><br>
        <input type="text" name="impressum_persnl_haft_gesellschafter" id="impressum_persnl_haft_gesellschafter" value="<?php echo impressum_get_meta( 'impressum_persnl_haft_gesellschafter' ); ?>">
    </p>
    <p>
        <label for="impressum_vertretungsberechtigte"><?php _e( 'Vertretungsberechtigte', 'impressum' ); ?></label><br>
        <input type="text" name="impressum_vertretungsberechtigte" id="impressum_vertretungsberechtigte" value="<?php echo impressum_get_meta( 'impressum_vertretungsberechtigte' ); ?>">
    </p>
    <p>
        <label for="impressum_gesellschafter"><?php _e( 'Gesellschafter', 'impressum' ); ?></label><br>
        <input type="text" name="impressum_gesellschafter" id="impressum_gesellschafter" value="<?php echo impressum_get_meta( 'impressum_gesellschafter' ); ?>">
    </p>
    <p>
        <label for="impressum_verantwortliche_r_fr_inhalt"><?php _e( 'Verantwortliche(r) für Inhalt', 'impressum' ); ?></label><br>
        <input type="text" name="impressum_verantwortliche_r_fr_inhalt" id="impressum_verantwortliche_r_fr_inhalt" value="<?php echo impressum_get_meta( 'impressum_verantwortliche_r_fr_inhalt' ); ?>">
    </p>
    <p>
        <label for="impressum_zustndige_aufsichtsbehrde"><?php _e( 'Zuständige Aufsichtsbehörde', 'impressum' ); ?></label><br>
        <input type="text" name="impressum_zustndige_aufsichtsbehrde" id="impressum_zustndige_aufsichtsbehrde" value="<?php echo impressum_get_meta( 'impressum_zustndige_aufsichtsbehrde' ); ?>">
    </p>
    <p>
        <label for="impressum_eintrag_architektenliste"><?php _e( 'Eintrag Architektenliste', 'impressum' ); ?></label><br>
        <input type="text" name="impressum_eintrag_architektenliste" id="impressum_eintrag_architektenliste" value="<?php echo impressum_get_meta( 'impressum_eintrag_architektenliste' ); ?>">
    </p>
    <p>
        <label for="impressum_zustndige_kammer"><?php _e( 'Zuständige Kammer', 'impressum' ); ?></label><br>
        <input type="text" name="impressum_zustndige_kammer" id="impressum_zustndige_kammer" value="<?php echo impressum_get_meta( 'impressum_zustndige_kammer' ); ?>">
    </p>
    <p>
        <label for="impressum_zustndige_kv"><?php _e( 'Zuständige KV', 'impressum' ); ?></label><br>
        <input type="text" name="impressum_zustndige_kv" id="impressum_zustndige_kv" value="<?php echo impressum_get_meta( 'impressum_zustndige_kv' ); ?>">
    </p>
    <p>
        <label for="impressum_berufsbezeichnung"><?php _e( 'Berufsbezeichnung', 'impressum' ); ?></label><br>
        <input type="text" name="impressum_berufsbezeichnung" id="impressum_berufsbezeichnung" value="<?php echo impressum_get_meta( 'impressum_berufsbezeichnung' ); ?>">
    </p>
    <p>
        <label for="impressum_berufsrechtliche_regelungen_"><?php _e( 'Berufsrechtliche Regelungen:', 'impressum' ); ?></label><br>
        <input type="text" name="impressum_berufsrechtliche_regelungen_" id="impressum_berufsrechtliche_regelungen_" value="<?php echo impressum_get_meta( 'impressum_berufsrechtliche_regelungen_' ); ?>">
    </p>
    <p>
        <label for="impressum_registergericht"><?php _e( 'Registergericht', 'impressum' ); ?></label><br>
        <input type="text" name="impressum_registergericht" id="impressum_registergericht" value="<?php echo impressum_get_meta( 'impressum_registergericht' ); ?>">
    </p>
    <p>
        <label for="impressum_registernummer"><?php _e( 'Registernummer', 'impressum' ); ?></label><br>
        <input type="text" name="impressum_registernummer" id="impressum_registernummer" value="<?php echo impressum_get_meta( 'impressum_registernummer' ); ?>">
    </p>
    <p>
        <label for="impressum_ust_idnr"><?php _e( 'USt-IDNr', 'impressum' ); ?></label><br>
        <input type="text" name="impressum_ust_idnr" id="impressum_ust_idnr" value="<?php echo impressum_get_meta( 'impressum_ust_idnr' ); ?>">
    </p>
    <p>
        <label for="impressum_w_idnr"><?php _e( 'W-IDNr', 'impressum' ); ?></label><br>
        <input type="text" name="impressum_w_idnr" id="impressum_w_idnr" value="<?php echo impressum_get_meta( 'impressum_w_idnr' ); ?>">
    </p>
    <p>
    <label for="impressum_freier_inhalt"><?php _e( 'Freier Inhalt', 'impressum' ); ?></label><br>
    <textarea name="impressum_freier_inhalt" id="impressum_freier_inhalt" ><?php echo impressum_get_meta( 'impressum_freier_inhalt' ); ?></textarea>

    </p><?php
}



function impressum_save( $post_id ) {
    if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return;
    if ( ! isset( $_POST['impressum_nonce'] ) || ! wp_verify_nonce( $_POST['impressum_nonce'], '_impressum_nonce' ) ) return;
    if ( ! current_user_can( 'edit_post', $post_id ) ) return;

    if ( isset( $_POST['impressum_firmenname'] ) )
        update_post_meta( $post_id, 'impressum_firmenname', esc_attr( $_POST['impressum_firmenname'] ) );
    if ( isset( $_POST['impressum_inhaber'] ) )
        update_post_meta( $post_id, 'impressum_inhaber', esc_attr( $_POST['impressum_inhaber'] ) );
    if ( isset( $_POST['impressum_anschrift'] ) )
        update_post_meta( $post_id, 'impressum_anschrift', esc_attr( $_POST['impressum_anschrift'] ) );
    if ( isset( $_POST['impressum_telefon'] ) )
        update_post_meta( $post_id, 'impressum_telefon', esc_attr( $_POST['impressum_telefon'] ) );
    if ( isset( $_POST['impressum_telefax'] ) )
        update_post_meta( $post_id, 'impressum_telefax', esc_attr( $_POST['impressum_telefax'] ) );
    if ( isset( $_POST['impressum_mobil'] ) )
        update_post_meta( $post_id, 'impressum_mobil', esc_attr( $_POST['impressum_mobil'] ) );
    if ( isset( $_POST['impressum_e_mail'] ) )
        update_post_meta( $post_id, 'impressum_e_mail', esc_attr( $_POST['impressum_e_mail'] ) );
    if ( isset( $_POST['impressum_persnl_haft_gesellschafter'] ) )
        update_post_meta( $post_id, 'impressum_persnl_haft_gesellschafter', esc_attr( $_POST['impressum_persnl_haft_gesellschafter'] ) );
    if ( isset( $_POST['impressum_vertretungsberechtigte'] ) )
        update_post_meta( $post_id, 'impressum_vertretungsberechtigte', esc_attr( $_POST['impressum_vertretungsberechtigte'] ) );
    if ( isset( $_POST['impressum_gesellschafter'] ) )
        update_post_meta( $post_id, 'impressum_gesellschafter', esc_attr( $_POST['impressum_gesellschafter'] ) );
    if ( isset( $_POST['impressum_verantwortliche_r_fr_inhalt'] ) )
        update_post_meta( $post_id, 'impressum_verantwortliche_r_fr_inhalt', esc_attr( $_POST['impressum_verantwortliche_r_fr_inhalt'] ) );
    if ( isset( $_POST['impressum_zustndige_aufsichtsbehrde'] ) )
        update_post_meta( $post_id, 'impressum_zustndige_aufsichtsbehrde', esc_attr( $_POST['impressum_zustndige_aufsichtsbehrde'] ) );
    if ( isset( $_POST['impressum_eintrag_architektenliste'] ) )
        update_post_meta( $post_id, 'impressum_eintrag_architektenliste', esc_attr( $_POST['impressum_eintrag_architektenliste'] ) );
    if ( isset( $_POST['impressum_zustndige_kammer'] ) )
        update_post_meta( $post_id, 'impressum_zustndige_kammer', esc_attr( $_POST['impressum_zustndige_kammer'] ) );
    if ( isset( $_POST['impressum_zustndige_kv'] ) )
        update_post_meta( $post_id, 'impressum_zustndige_kv', esc_attr( $_POST['impressum_zustndige_kv'] ) );
    if ( isset( $_POST['impressum_berufsbezeichnung'] ) )
        update_post_meta( $post_id, 'impressum_berufsbezeichnung', esc_attr( $_POST['impressum_berufsbezeichnung'] ) );
    if ( isset( $_POST['impressum_berufsrechtliche_regelungen_'] ) )
        update_post_meta( $post_id, 'impressum_berufsrechtliche_regelungen_', esc_attr( $_POST['impressum_berufsrechtliche_regelungen_'] ) );
    if ( isset( $_POST['impressum_registergericht'] ) )
        update_post_meta( $post_id, 'impressum_registergericht', esc_attr( $_POST['impressum_registergericht'] ) );
    if ( isset( $_POST['impressum_registernummer'] ) )
        update_post_meta( $post_id, 'impressum_registernummer', esc_attr( $_POST['impressum_registernummer'] ) );
    if ( isset( $_POST['impressum_ust_idnr'] ) )
        update_post_meta( $post_id, 'impressum_ust_idnr', esc_attr( $_POST['impressum_ust_idnr'] ) );
    if ( isset( $_POST['impressum_w_idnr'] ) )
        update_post_meta( $post_id, 'impressum_w_idnr', esc_attr( $_POST['impressum_w_idnr'] ) );
    if ( isset( $_POST['impressum_freier_inhalt'] ) )
        update_post_meta( $post_id, 'impressum_freier_inhalt', esc_attr( $_POST['impressum_freier_inhalt'] ) );
}
add_action( 'save_post', 'impressum_save' );

/*
    Usage: impressum_get_meta( 'impressum_firmenname' )
    Usage: impressum_get_meta( 'impressum_inhaber' )
    Usage: impressum_get_meta( 'impressum_anschrift' )
    Usage: impressum_get_meta( 'impressum_telefon' )
    Usage: impressum_get_meta( 'impressum_telefax' )
    Usage: impressum_get_meta( 'impressum_mobil' )
    Usage: impressum_get_meta( 'impressum_e_mail' )
    Usage: impressum_get_meta( 'impressum_persnl_haft_gesellschafter' )
    Usage: impressum_get_meta( 'impressum_vertretungsberechtigte' )
    Usage: impressum_get_meta( 'impressum_gesellschafter' )
    Usage: impressum_get_meta( 'impressum_verantwortliche_r_fr_inhalt' )
    Usage: impressum_get_meta( 'impressum_zustndige_aufsichtsbehrde' )
    Usage: impressum_get_meta( 'impressum_eintrag_architektenliste' )
    Usage: impressum_get_meta( 'impressum_zustndige_kammer' )
    Usage: impressum_get_meta( 'impressum_zustndige_kv' )
    Usage: impressum_get_meta( 'impressum_berufsbezeichnung' )
    Usage: impressum_get_meta( 'impressum_berufsrechtliche_regelungen_' )
    Usage: impressum_get_meta( 'impressum_registergericht' )
    Usage: impressum_get_meta( 'impressum_registernummer' )
    Usage: impressum_get_meta( 'impressum_ust_idnr' )
    Usage: impressum_get_meta( 'impressum_w_idnr' )
    Usage: impressum_get_meta( 'impressum_freier_inhalt' )
*/
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben