在wordpress之外运行循环
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在wordpress之外运行循环相关的知识,希望对你有一定的参考价值。
我知道这已经发布了很多次,但是我确实花了将近60个小时来弄清楚这一点-这不是我的强项!
目前正在运行wordpress,标准安装,没有插件或任何东西。
[我只是想显示博客中的最新3篇文章,或者如果我们可以更进一步,则显示catx中的最新3篇文章。
这是我的代码,我认为应该可以。
<?php
require '/home1/digita/public_html/articles/wp-load.php'; ?>
<section class="services blog sec-normal">
<div class="container">
<div class="service-wrap">
<div class="row">
<style>.wp-block-image {
max-width: 100%;
margin-bottom: 1em;
display: none;
}
a.more-link {
display: none;
}
.services .service-wrap .service-section a {
margin-top: 0px!important;
}
</style>
<?php if (have_posts()) :
while ( have_posts() ) : the_post();
?> <!-- ***** BLOG ***** -->
<div class="col-md-4" style="width: 30%;margin-top: -7%;margin-bottom: 10%;">
<?php
if ( has_post_thumbnail() ) {
the_post_thumbnail();
} ?>
<div class="service-section m-0" style="margin-top: 0.1%;">
<div class="title mt-0"><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></div>
<p class="subtitle"><?php the_content() ?> </p>
<hr>
<a href="<?php the_permalink() ?>" class="btn btn-default-yellow-fill">Read more</a>
</div>
</div>
<?php
// Stop the loop when all posts are displayed
endwhile;
// If no posts were found
else :
?>
<p>Sorry no posts matched your criteria.</p>
<?php
endif;
?>
</div>
</div>
</div>
</div>
</section>
该代码不返回帖子,而是返回“抱歉,没有符合您条件的帖子。” 。有什么建议吗?
答案
主查询未设置其数据,因为wp函数在代码中的wp-load.php之后未运行,并且主查询必须基于一些复杂的$_SERVER['REQUEST_URI']
进行设置。但是使用辅助查询作为工作的简单方法是很好的:
<?php
require '/home1/digita/public_html/articles/wp-load.php';
$query = new WP_Query(array(
'post_type' => 'post',
));
?>
<section class="services blog sec-normal">
<div class="container">
<div class="service-wrap">
<div class="row">
<style>.wp-block-image {
max-width: 100%;
margin-bottom: 1em;
display: none;
}
a.more-link {
display: none;
}
.services .service-wrap .service-section a {
margin-top: 0px!important;
}
</style>
<?php if ($query->have_posts()) :
while ( $query->have_posts() ) : $query->the_post();
?> <!-- ***** BLOG ***** -->
<div class="col-md-4" style="width: 30%;margin-top: -7%;margin-bottom: 10%;">
<?php
if ( has_post_thumbnail() ) {
the_post_thumbnail();
} ?>
<div class="service-section m-0" style="margin-top: 0.1%;">
<div class="title mt-0"><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></div>
<p class="subtitle"><?php the_content() ?> </p>
<hr>
<a href="<?php the_permalink() ?>" class="btn btn-default-yellow-fill">Read more</a>
</div>
</div>
<?php
// Stop the loop when all posts are displayed
endwhile;
// If no posts were found
else :
?>
<p>Sorry no posts matched your criteria.</p>
<?php
endif;
?>
</div>
</div>
</div>
</div>
</section>
以上是关于在wordpress之外运行循环的主要内容,如果未能解决你的问题,请参考以下文章
markdown 在WordPress中使用jQuery代码片段
Wordpress - 将代码片段包含到布局的选定部分的插件
PHP WordPress条件为主页SlideDeck主题代码片段