感谢suggestion 属于Mridul Aggarwal, 我提出了以下查询,它返回给定post id的post的按时间顺序的位置。
可以删除帖子id、帖子标题和帖子日期,它们仅用于调试/验证结果。
SELECT
*
FROM (
SELECT
ID as id
, post_date
, post_title
, @rownum := @rownum + 1 AS position
FROM
wp_posts
, (SELECT @rownum := 0) AS rownum
WHERE
post_type = \'post\'
AND post_status = \'publish\'
ORDER BY
post_date DESC
) as post_position
WHERE
id = 12345 /* REPLACE THIS WITH THE POST ID YOU WANT */
确保更换
12345
对于具有要查找其位置的职位id的职位id。
可以使用运行此查询$wpdb->get_results
. 有关的更多详细信息$wpdb
可以在中找到Codex.
有了查询结果,我就可以使用下面的PHP逻辑计算出帖子所在的分页索引页面。
// Get posts per page option.
$posts_per_page = get_option( \'posts_per_page\' );
// Calculate what index page a post is on.
$page_index = ceil( $position / $posts_per_page );
就这样!这个
$page_index
变量将保存神奇的分页索引页码!