Mám vytvořený tento metabox.
add_action( 'add_meta_boxes', 'cd_add_quote_meta' );
function cd_add_quote_meta()
{
add_meta_box( 'quote-meta', __( 'Metabox' ), 'cd_quote_meta_cb', 'page', 'normal', 'default' );
}
function cd_quote_meta_cb( $post )
{
// Get values for filling in the inputs if we have them.
$date = get_post_meta( $post->ID, '_cd_quote_date', true );
// Nonce to verify intention later
wp_nonce_field( 'save_quote_meta', 'quote_nonce' );
?>
<p>
<label for="quote-date">Date</label>
<input type="text" class="widefat" id="quote-date" name="_cd_quote_date" value="<?php echo $date; ?>" />
</p>
<?php
}
?>
<?php
add_action( 'save_post', 'cd_quote_meta_save' );
function cd_quote_meta_save( $id )
{
if( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return;
if( !isset( $_POST['quote_nonce'] ) || !wp_verify_nonce( $_POST['quote_nonce'], 'save_quote_meta' ) ) return;
if( !current_user_can( 'edit_post' ) ) return;
$allowed = array(
'p' => array()
);
if( isset( $_POST['_cd_quote_date'] ) )
update_post_meta( $id, '_cd_quote_date', esc_attr( strip_tags( $_POST['_cd_quote_date'] ) ) );
}
V šabloně jej vypisuji takto:
<p><b>Date:</b> <?php echo get_post_meta($post->ID, '_cd_quote_date', true); ?></p>
Takže když není hodnota v metaboxu vyplněna zobrazí se na webu “Date:”. Jak to mám nastavit aby se “Date:” zobrazilo jen pokud je pole v metaboxu vyplněné?
Díky