选项1-同时获取帖子ID
您还可以选择
post_id
当您运行查询时,该字段允许您通过调用
get_post($values->post_id);
(如果需要)。
global $wpdb;
$query = $wpdb->prepare(\'
SELECT p.post_id, p.meta_value
FROM %1$s AS p
WHERE p.meta_key = "post_views_count"\',
$wpdb->postmeta
);
$results = $wpdb->get_results($query);
您尚未说明表单提交是如何处理的,但您可以在下拉列表中添加post ID作为值,然后在处理过程中,您拥有该ID并可以使用它做您想要的事情。
if(!empty($results)) : // Ensure there are results to create a dropdown from
echo \'<select>\'."\\n";
foreach($results as $result) : // Loop through each result and output an option
printf(
"\\t".\'<option value="%1$s">%2$s</option>\'."\\n",
$result->post_id,
$result->meta_value
);
endforeach;
echo \'</select>\'."\\n";
endif;
选项2-抓住整个帖子并将其加入meta\\u值-如果上述内容不够深入,您可以选择
meta_value
以及使用下面的查询与之相关的帖子。从那里,你可以做任何你想做的事情,因为你会得到完整的职位。
但是请注意,建议您只选择您真正想要的字段(这样更快),因此我建议您替换p.*
只有你们想用的东西。
global $wpdb;
$query = $wpdb->prepare(\'
SELECT p.*, pm.meta_value
FROM %1$s AS p
JOIN %2$s AS pm ON (p.ID = pm.post_id)
WHERE pm.meta_key = "post_views_count"\',
$wpdb->posts,
$wpdb->postmeta
);
$results = $wpdb->get_results($query);