未将POST保存在wp_post WordPress数据库表中

时间:2015-02-07 作者:Mortzea

我编写以下代码来将post保存在wordoress wp\\U post数据库表中。

但不保存在数据库中

  function writeMsg(){
     global $wpdb;
     $result = $wpdb->get_results ( "SELECT * FROM wp_farsc" );
     $data = null;
   $data.= \'<table border="2px" cellspacing="5px" width="100%">\'.PHP_EOL;
   $data.= \'<tr bgcolor="yellow"><th>سکه</th><th>قیمت انلاین</th><th>تغییر قیمت</th><th>کمترین</th><th>بیشترین</th><th>زمان بروز رسانی</th></tr>\'.PHP_EOL;

   foreach ( $result as $row ) {

      $data .=\'<tr>\';
      $data .= \'<td>\'.$row-> titile.\'</td>\';
      $data .=\'<td>\'.$row -> liveprice.\'</td>\';
      $data .=\'<td>\'.$row -> changing.\'</td>\';
      $data .= \'<td>\'.$row-> lowest.\'</td>\';
      $data .= \'<td>\'.$row-> topest.\'</td>\';
      $data .= \'<td>\'.$row-> time.\'</td>\';
      $data .=\'</tr>\'.PHP_EOL;
   }
 return $data;
 }
 $oiobz1 = writeMsg(1, \'center\', \'\', 1);

function importposts() {
    $postdate = date(\'2014-06-19 00:30:00\');
    $postdate_gmt = date(\'2014-06-19 04:30:00\');
    $titles=\' 111111111111111111111111111\';
    $posts = array(
        \'post_content\'   => $oiobz1,
        \'post_name\'      => $titles,
        \'post_title\'     => $titles,
        \'post_type\'      => \'post\',
        \'post_author\'    => \'1\',
        \'ping_status\'    => \'publish\',
        \'to_ping\'        => \'http://rpc.pingomatic.com/\',
        \'post_date_gmt\'  => $postdate_gmt,
        \'post_date\'  => $postdate,
    );

    $post_id = wp_insert_post($posts);
    add_post_meta($post_id, \'META-KEY-1\', \'META_VALUE-1\', true);
} 


  ?>

1 个回复
最合适的回答,由SO网友:Privateer 整理而成

正如Milo所指出的,您需要调用importposts函数来让它做任何事情。

此外,如果您的帖子没有插入,post\\u id应该保存一个wp\\u error对象,这样您就可以在add\\u post\\u meta之前执行以下操作来查看错误

if ( is_wp_error( $post_id ) ) {
   echo "<p>Bad Post Attempt:</p><pre>" . print_r($post_id, true) . "</pre>";
}
如果调用函数并有查询,则应该指出查询中的任何问题。

正在调用函数。。。(以防万一)

创建函数后,需要调用它:

importposts();
就我个人而言,我会给它一个更明确的名字。。。您可能需要通过wordpress加载后的某个时间发生的操作来包装调用

function do_my_import_posts_now() {
   importposts();
}
add_action(\'wp\', \'do_my_import_posts_now\');
这将确保在调用函数之前设置wordpress。

结束

相关推荐

Add CPT values to Database

我不确定这是不是件容易的事。我有一个插件,具有定制帖子类型所需的所有功能:过滤器、导航。。。我需要为这个CPT创建很多帖子(使用分类法)(需要做很多工作才能正确创建它)。所以我只想添加一次这个自定义帖子,而不是每次我想利用我在其他网站的插件。。。实现这一目标的最佳方式是什么?我是不是每次都要进行某种形式的进出口贸易?我应该利用wp\\u insert\\u post并对帖子的内容进行硬编码吗?为我的英语道歉,我不知道我是否已经解释过了。。。谢谢