在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 - 代码片段插件

Wordpress - 将代码片段包含到布局的选定部分的插件

PHP WordPress条件为主页SlideDeck主题代码片段

Wordpress阻止访问wp admin€“wpsnipp.com网站你博客的Wordpress代码片段

用于 WordPress 的 PHP 片段,用于获取所有产品子类别