我希望从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'));
}
?>
答案 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;功能。
希望有所帮助!