Запуск l oop за пределами WordPress - PullRequest
0 голосов
/ 23 января 2020

Я знаю, что это было опубликовано много раз, но я действительно потратил около 60 часов, пытаясь выяснить это - это не моя сильная сторона!

Я использую WordPress, стандартная установка, без плагинов или что-то еще на этом этапе.

Я просто пытаюсь отобразить самые последние 3 сообщения из блога, или, если бы мы могли go сделать шаг вперед, самые последние 3 из catx.

Вот мой код, который, по моему мнению, должен работать.

    <?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>

Код не возвращает сообщения, а вместо этого возвращает: «Извините, записи не соответствуют вашим критериям». , Любой совет?

1 Ответ

0 голосов
/ 23 января 2020

Главный запрос не устанавливает свои данные, потому что функция wp не запускалась после wp-загрузки. 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...