使iframe在wordpress中使用变量

时间:2017-04-15 11:37:27

标签: php wordpress iframe

我创建了一个自定义元字段,我想在帖子上保存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&amp;auto_play=false&amp;hide_related=false&amp;show_comments=true&amp;show_user=true&amp;show_reposts=false&amp;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' );

1 个答案:

答案 0 :(得分:0)

我必须在我的函数上使用html_entity_decode输出为html