使用$wpdb将表单插入帖子

时间:2012-01-25 作者:Anders Kitson

我想采用以下表单,并使用$wpdb将其插入到帖子中。我试过阅读类引用页插入行,但我真的不知道应该引用什么。我不知道如何告诉表单使用$wpdb将数据插入帖子?

<?php
if (isset($_POST[\'pickup-form\']))
{
    // Clean POST data
    $demo_input = (isset($_POST[\'demo-input\'])) ? trim((string) $_POST[\'demo-input\']) : \'\';

    // Validate POST data
    if (\'\' === $demo_input)
    {
        $errors[\'demo_input\'] = __(\'Demo field is required\');
    }

    // No errors
    if (empty($errors))
    {
        // Save POST data to database, send some e-mails, etc.
        $success = TRUE;
    }
}
?>

<?php if ( ! empty($success)) { ?>

    <p>Thank you!</p>

<?php } else { ?>

    <?php if ( ! empty($errors)) { ?>
        <?php print_r($errors) ?>
    <?php } ?>

    <form method="post" action="">
        <input type="hidden" name="pickup-form">
        <input type="text" name="demo-input" value="<?php if (isset($demo_input)) { echo esc_attr($demo_input); } ?>">
        <input type="submit">
    </form>

<?php } ?>

1 个回复
SO网友:Shane

在代码的成功部分,您可以构建一个表示帖子的数组,并使用wp\\u insert\\u post如下:

实例

 $mypost = array(
      \'post_title\' => \'My Title\',
      \'post_type\' => \'page\'
      //... add other fields according to your form
 );

 $mypost_id = wp_insert_post( $mypost ); //Returns new post id on success
任何未指定的字段都将由WordPress自动填充。

EDIT

有关自定义字段,请参见add_post_meta :

 $mypost_id = wp_insert_post( $mypost ); //SEE ABOVE
 $meta_key = \'your-new-field-name\';
 $meta_value = \'your-form-value\';
 $unique = true; // or false     

 add_post_meta( $mypost_id, $meta_key, $value, $unique );
资料来源:wp_insert_post

结束

相关推荐

$wpdb->get_var next var?

这为每个帖子提供了相同的视图值,我如何为每个帖子获取下一个var?<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <a href=\"<?php the_permalink(); ?>\"><?php the_title(); ?> <?php // set the meta_key to the appr