wordpress中的错误插入到自定义表值为空或null

时间:2014-09-20 10:11:22

标签: php mysql sql wordpress wordpress-plugin

我希望从wordpress帖子中获取所有帖子的标题并插入到自定义表中,但它总是插入null值为什么

<?php
global $post;
$args = array( 'numberposts' => -1 );
$myposts = get_posts( $args );
foreach ( $myposts as $post ) : 
setup_postdata( $post ); 
insert_p_now(the_permalink());
endforeach;
wp_reset_postdata(); 

function insert_p_now($a)
{
    global $wpdb;
    $wpdb->insert('wp_posttable', array('post_title' => $a), array('%s'));
}
?>

1 个答案:

答案 0 :(得分:0)

在你的函数调用中,你没有将帖子标题作为参数传递。

insert_p_now(the_permalink());

这意味着你的功能

function insert_p_now($a)
{
    global $wpdb;
    $wpdb->insert('wp_posttable', array('post_title' => $a), array('%s'));
}

$a的值等于the_permalink(),当然不是你的post_title。 如果您只想将帖子标题存储在自定义数组中,也许这就是您正在寻找的内容:

<?php

global $wpdb;

$args = array( 'numberposts' => -1 );
$allposts = get_posts( $args );

foreach ( $allposts as $curpost ) : 
   $wpdb->insert('wp_posttable', array('post_title' => $curpost->post_title), array('%s')); 
endforeach;

?>

如果你要重新使用&#34;插入到自定义表格中,你当然可以使用单独的功能&#34;功能。

希望有所帮助!