Metabox-显示Metabox的值

时间:2017-07-05 作者:Hannes

这里是新手。

我挣扎了几个小时。我正在开发我的第一个WP插件,在那里我可以输入产品(产品标题和描述)。wp似乎将我的描述保存在db中,因为如果我在后端打开产品,我可以看到我保存的描述。但如果我试图回应描述,我会得到一个空值。

以下是一些代码片段:

代谢箱:

function product_custom_meta(){
    add_meta_box(\'product_meta\', __(\'Product Title\', \'product-textdomain\' ), \'product_meta_callback\', \'url\' );
}
add_action(\'add_meta_boxes\', \'product_custom_meta\');

function product_meta_callback( $post ) {
    wp_nonce_field( basename( __FILE__ ), \'product_nonce\' );
    $product_stored_meta = get_post_meta( $post->ID );
    ?>

    <p>
        <label for="meta-desc" class="product-row-title"><?php _e( \'Description\', \'product-textdomain\' )?></label>
        <input type="text" name="meta_desc" id="meta_desc" value="<?php if ( isset ( $product_stored_meta[\'meta-desc\'] ) ) echo $product_stored_meta[\'meta-desc\'][0]; ?>" />
    </p>


    <?php
}

function product_meta_save( $post_id ) {

    // Checks save status
    $is_autosave = wp_is_post_autosave( $post_id );
    $is_revision = wp_is_post_revision( $post_id );
    $is_valid_nonce = ( isset( $_POST[ \'product_nonce\' ] ) && wp_verify_nonce( $_POST[ \'product_nonce\' ], basename( __FILE__ ) ) ) ? \'true\' : \'false\';

    // Exits script depending on save status
    if ( $is_autosave || $is_revision || !$is_valid_nonce ) {
        return;
    }

    // Checks for input and sanitizes/saves if needed
    if( isset( $_POST[ \'meta_desc\' ] ) ) {

        update_post_meta( $post_id, \'meta_desc\', sanitize_text_field( $_POST[ \'meta_desc\' ] ) );

    }
}
add_action( \'save_post\', \'product_meta_save\');
这就是我努力实现自己价值的方式:

    $desc = get_post_meta( $post->ID, \'meta_desc\', true );
echo $desc;
但是没有成功,我希望有人能帮助我。

提前感谢

0 个回复
结束

相关推荐

Admin-ajax.php在子域上无法正常工作

我试图将产品价格(从数据库中提取)乘以cookie存储的货币,对应于切换语言。为了实现这一点,我使用了AJAX脚本和几种方法。问题在于方法currencyRates();尽管在测试环境中,一切都很正常(我使用的是子文件夹而不是子域),但在生产级方法上currencyRates(); 只是返回值1(在方法开始时初始化,当var_dump $rate 在foreach循环中,它给了我期望的值,但当我尝试返回时,它总是在开始变量处初始化的值$rate = 1). 发生了什么事?子域如何影响这种类型的脚本?数据库