我需要调整一个写得很糟糕的WP主题(一个在表中编写的自定义主题,以及糟糕的代码)。
该主题有多个自定义模板,但未使用分页,使用get\\u posts代替query\\u posts-
<?php query_posts(\'showposts=1\'); ?>
<?php $posts = get_posts(\'numberposts=10&offset=0&category_name=albertsons, carrs, dominicks, genuardis, heb, kroger, pavillions, publix, randalls,safeway,shop-rite,tom-thumb,vons,whole-foods\'); foreach ($posts as $post) : start_wp(); ?>
<?php static $count2 = 0; if ($count2 == "10") { break; } else { ?>
...
<?php $count2++; } ?>
<?php endforeach; ?>
我需要获得分页才能使用get\\u posts,或者将函数重写为仅使用query\\u posts,以便添加
\'paged\' => get_query_var(\'page\')
当我试图重写为只使用query\\u帖子时,整个该死的东西都坏了。
有没有关于如何改进的想法?
谢谢
更新时间:
<?php
global $wp_query;
$paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;
query_posts(array(\'posts_per_page\' => \'3\',\'paged\'=>$paged,\'category_name\'=>\'albertsons, carrs, dominicks, genuardis, heb, kroger, pavillions, publix, randalls,safeway,shop-rite,tom-thumb,vons,whole-foods\')); ?>
?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
它可以工作,但不分页。“旧帖子”将使用url page-2重新加载页面,但内容完全相同,这意味着显示的帖子与第一页上显示的帖子完全相同。
已解决-需要使用
最合适的回答,由SO网友:sbrajesh 整理而成
您可以用以下内容替换代码
<?php
global $wp_query;
$limit = get_option(\'posts_per_page\');
$paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;
query_posts(array(\'posts_per_page\'=>$limit,\'paged\'=>$paged,\'category_name\'=>\'albertsons, carrs, dominicks, genuardis, heb, kroger, pavillions, publix, randalls,safeway,shop-rite,tom-thumb,vons,whole-foods\'));
/* you may want to uncomment the below two lines if you are using custom page template*/
//$wp_query->is_archive = true;
//$wp_query->is_home = false;
然后拨打普通电话
Post Loop 喜欢
if(have_posts()):
while(have_posts()):the_post();
the_content() ;//or so on
endwhile;
endif;
顺便说一句,我会建议反对query\\u posts/get\\u posts并使用
WP_Query希望能帮助您开始:)