我创建了一个自定义元字段,我想在帖子上保存iframe链接。
当我使用以下代码从我的元字段中检索链接时:
echo soundcloud_get_meta( 'soundcloud_soundcloud_shortcode' );
我将整个iframe作为文本!
但是当我按照下面的代码给出链接时,它可以正常工作
echo '<iframe width="100%" height="450" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/151456970&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false&visual=true"></iframe>';
我认为它会在第一个示例中添加额外的引号并作为文本获取。 如何使用第一个示例来完成这项工作?
更新
这是在我的functions.php文件
中function soundcloud_add_meta_box() {
add_meta_box(
'soundcloud-soundcloud',
__( 'SoundCloud', 'soundcloud' ),
'soundcloud_html',
'post',
'normal',
'default'
);
}
add_action( 'add_meta_boxes', 'soundcloud_add_meta_box' );
function soundcloud_html( $post) {
wp_nonce_field( '_soundcloud_nonce', 'soundcloud_nonce' ); ?>
<p>SoundCloud</p>
<p>
<label for="soundcloud_soundcloud_shortcode"><?php _e( 'SoundCloud Shortcode', 'soundcloud' ); ?></label><br>
<input type="text" name="soundcloud_soundcloud_shortcode" id="soundcloud_soundcloud_shortcode" value="<?php echo soundcloud_get_meta( 'soundcloud_soundcloud_shortcode' ); ?>">
</p><?php
}
function soundcloud_save( $post_id ) {
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return;
if ( ! isset( $_POST['soundcloud_nonce'] ) || ! wp_verify_nonce( $_POST['soundcloud_nonce'], '_soundcloud_nonce' ) ) return;
if ( ! current_user_can( 'edit_post', $post_id ) ) return;
if ( isset( $_POST['soundcloud_soundcloud_shortcode'] ) )
update_post_meta( $post_id, 'soundcloud_soundcloud_shortcode', esc_attr( $_POST['soundcloud_soundcloud_shortcode'] ) );
}
add_action( 'save_post', 'soundcloud_save' );
答案 0 :(得分:0)
我必须在我的函数上使用html_entity_decode
输出为html