我正在开发插件,该插件将通过 wordpress 调度挂钩自动运行。但要做到这一点,我需要数据库中的一条记录并处理它,然后下一次计划运行,我想从数据库中获取下一条记录来处理。
我正在为我的数据使用自定义表,该表有一个具有自动增量值的主键。
那么,每次运行 wordpress 调度挂钩时,我怎样才能获得下一条记录呢?
我尝试过使用会话/php 分页,它在 wordpress 之外工作,但 wordpress 不提供会话支持,所以我不能使用它。我可以使用 $wpdb 全局类进行单条记录检索,但我不知道下一条记录检索。
我希望我已经清楚地解释了我的问题。
这是将在 wp schedule hook 上执行的函数:
function ACP_poster($n){
global $wpdb,$api_key;
$row = $wpdb->get_results('SELECT a,b,c FROM tbname ORDER BY id DESC LIMIT 1',ARRAY_A);
$url = 'https://example.com';
$headers = array( 'Authorization' => $api_key );
$request = new WP_Http;
$result = $request->request( $url , array( 'method' => 'GET', 'headers' => $headers, 'sslverify' => false ) );
$data = new SimpleXMLElement($result['body']);
$attributes = $data->p->attributes();
foreach ($data->p[0] as $p)
{
// Sanitize data.
$pr = number_format((float)$p->pr, 2, '.', ' ');
$image = '<a href="'.$p->{'url2'}.'"><img src="'.$p->{'url3'} .'" style="float: right"/></a>';
$pd = $image.$p->description .'-- ='.$p->currency.' '.
' ,Retail Price ='.$p->{'retail-price'}.' , '.
$p->{'sale-price'}.'<a href="'.$p->{'url2'}.
'">...</a>';
$v = $c[$no]->child;
$ids = get_term_by('slug', $v, 'category');//wordpress function
$id = (int)$ids->term_taxonomy_id;
$p2 = array('post_title' => $p->name,
'post_content' => $pd,
'post_status' => 'publish',
'post_author' => 1,
'post_category' =>array($id));
$pr = wp_insert_post( $p2, $wp_error );
wp_reset_query(); // Restore global post data stomped by the_post().
}
}
}