【问题标题】:How to add multiple meta boxes in wordpress using the users input for any post in a custom post type?如何使用自定义帖子类型中任何帖子的用户输入在 wordpress 中添加多个元框?
【发布时间】:2014-11-18 16:09:50
【问题描述】:

我在这里真正想做的是:
- 我有一个自定义帖子类型来添加视频。
- 现在,在每个视频中,用户都可以为视频添加多个字段,例如。
- 我有一个视频,其中将有多个包含(标题、说明、按钮、链接等)的叠加层,并且叠加层的数量是完全动态的,因此用户应该能够为每个视频设置它。
-- 所以如果用户说5,那么用户应该得到5个标题、描述、按钮字段来添加

我可以静态添加一个特定的数量,但是我如何使它成为动态的。

谢谢

【问题讨论】:

  • 你有没有尝试过 Meta box 插件,它在 wordpress.org 中是免费的
  • wordpress.org/plugins/meta-box - 不,我马上试试这个
  • @HàLink 我检查了插件,..你能指导我到一个教程,因为我正在创建一个插件并希望将它放在那里,我可以做类似的事情吗?

标签: php wordpress custom-post-type


【解决方案1】:

你可以在你的插件中创建你自己的字段,这并不难,你只需要知道你想在你的帖子类型中放什么... 要添加您的字段,您需要了解 jQuery 以动态添加更多字段... 不需要创建另一个插件,因为你会有很多东西可以使用......

<?php 
add_meta_box( "my-new-meta", "Video Options", "metas_form", "your_post_type_name", "normal", "high")
function metas_form(  $post ){
    $post_id = $post->ID;
    $meta_value = get_post_meta( $post_id, 'meta_key_text', true ); 
    ?>
    <div>
        <label id="my_field">Name</label>
        <input type="text" id="my_field" name="my_field" value="<?php echo $meta_value ?>">
    </div>
    <input type="hidden" name="field_nonce" id="field_nonce" value="<?php echo wp_create_nonce( plugin_basename(__FILE__) ); ?>" />
    <?php
}

add_action( 'save_post', 'save_fn' );
function save_fn( ) {
    global $post, $post_id, $typenow;
    if ( $typenow  == 'your_post_type_name' && isset( $_POST ) ) {
        if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return $post_id;

    if ( !isset( $_POST['field_nonce'] ) || !wp_verify_nonce( $_POST['field_nonce'], plugin_basename(__FILE__) )) return $post_id;
    $meta_value = $_POST['my_field'];
    update_post_meta( $post->ID, 'meta_key_text', $meta_value );

}

}

【讨论】:

    猜你喜欢
    • 2012-12-03
    • 2019-11-26
    • 2011-11-19
    • 1970-01-01
    • 2018-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-30
    相关资源
    最近更新 更多