我为一个显示良好的类别添加了一个自定义元框。此元数据库的唯一目的是提供到帖子的链接。我可以看到该框工作正常,因为我的测试链接保存在该框中。现在我正在尝试获取前端的值,但遇到了一点麻烦。
这是元数据库:
function cd_meta_box_cb()
{
global $post;
$values = get_post_custom( $post->ID );
$text = isset( $values[\'link\'] ) ? esc_attr( $values[\'link\'][0] ) : \'\';
wp_nonce_field( \'tickets_link_nonce\', \'meta_box_nonce\' );
?><label for="link">Tickets Link</label>
<input type="text" name="link" id="link" value="<?php echo $text; ?>" /><?php
}
add_action( \'save_post\', \'cd_meta_box_save\' );
function cd_meta_box_save( $post_id )
{
// Bail if we\'re doing an auto save
if( defined( \'DOING_AUTOSAVE\' ) && DOING_AUTOSAVE ) return;
// if our nonce isn\'t there, or we can\'t verify it, bail
if( !isset( $_POST[\'meta_box_nonce\'] ) || !wp_verify_nonce( $_POST[\'meta_box_nonce\'], \'tickets_link_nonce\' ) ) return;
// if our current user can\'t edit this post, bail
if( !current_user_can( \'edit_post\' ) ) return;
$allowed = array(
\'a\' => array( // on allow a tags
\'href\' => array() // and those anchors can only have href attribute
)
);
if( isset( $_POST[\'link\'] ) ) {
update_post_meta( $post_id, \'link\', wp_kses( $_POST[\'link\'], $allowed ) );
}
这是我前端代码的当前版本。
$tickets = array();
$tickets = get_post_custom($post->ID); ?>
<?php if( !empty($tickets[\'link\'])): ?>
<a href="<?php echo $tickets[0]; ?>" class="tickets_btn">Tickets</a>
<?php endif; ?>
我已经在第一篇文章中显示了链接。我有两个问题要解决。
类别中有12篇文章,尽管第二篇文章的metabox值为空,但仍显示一个空白链接
我在其他帖子上得到了未定义的索引。
这里有一个print_r
在阵列上
(
[_thumbnail_id] => Array
(
[0] => 1865
[1] => 1865
)
[_edit_last] => Array
(
[0] => 1
[1] => 1
)
[_am_city] => Array
(
[0] => The Dome
[1] => The Dome
)
[tooltip] => Array
(
[0] => Come down to the Dome
)
[panels_data] => Array
(
[0] => a:0:{}
)
[_edit_lock] => Array
(
[0] => 1416882347:1
)
[ninja_forms_form] => Array
(
[0] => 0
)
[link] => Array
(
[0] => http://testlink.com
)
[_am_showdates] => Array
(
[0] => <p>27</p>DEC
)
[_am_location] => Array
(
[0] => The Dome
)
[_am_state] => Array
(
[0] => Detroit, Mi
)
)
我正试图得到
[link] => http://testlink.com