Отображение сообщений WordPress в статической HTML-странице - Добавление более подробной информации - PullRequest
0 голосов
/ 14 июля 2010

Мне нужно добавить ссылки на посты WordPress на статической HTML-странице. Я получил некоторую информацию, которая была полезна, но мне нужно еще несколько элементов, чтобы завершить ее.

Вот код, который у меня есть:

<?php

$number = 5;
$wordpress_header = "blog/wp-blog-header.php";

      // Include wordpress header   
      if (file_exists($wordpress_header))
       {
         include ($wordpress_header);

        $myposts = get_posts('numberposts=$number&offset=0&category=0');

        echo "<ul class='Bloglinks'>";

        foreach(array_slice($myposts, 0, $number) as $post) 
         {
            echo '<li><a href="';
            the_permalink();
            echo '">';
            the_date();
            echo " ";
            the_title();
            echo '</a></li>';
         }

         echo "</ul>";

       }
       else
       {
         echo "Unable to connect to Wordpress header file.";
         die();
       } 

?>  

Показывает только заголовки самых последних сообщений. Мне нужно иметь возможность отображать следующее:

<h5>The truth about Lazy Eye</h5>
<p class="blog-info">07.16.10 | <a class="comment-ref">3 Comments</a></p>
<h5>More Adult Learning Problems Linked to Eyes</h5>
<p class="blog-info">06.12.10 | <a class="comment-ref">1 Comments</a></p>
<h5>New Vision Examination Instruments Arrived!</h5>
<p class="blog-info">05.10.10 | <a class="comment-ref">13 Comments</a></p>

Ответы [ 2 ]

1 голос
/ 16 июля 2010

Вам следует использовать функцию query_posts () с функциями have_posts () и the_post ().Вот пример для WordPress API:

//The Query
query_posts('posts_per_page=5');

//The Loop
if ( have_posts() ) : while ( have_posts() ) : the_post();
 ..
endwhile; else:
 ..
endif;

//Reset Query
wp_reset_query();

, который будет перебирать все сообщения, которые вы запросили.Таким образом, вы можете просто вставить свой запрос из функции get_posts () в функцию query_posts ().

EDIT : я думаю, что если вы хотите придерживаться функции get_posts (), у вас естьчтобы вызвать функцию setup_postdata (), чтобы получить новый пост ( исходный код API ):

<ul>
    <?php
        global $post;
        $myposts = get_posts('numberposts=5&offset=1&category=1');
        foreach($myposts as $post) :
            setup_postdata($post);
    ?>
    <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
    <?php endforeach; ?>
</ul> 

Но я бы порекомендовал вместо этого использовать функцию query_posts ().

0 голосов
/ 11 сентября 2017
   <?php
        require($_SERVER['DOCUMENT_ROOT'] . '/wp-load.php');
        $args = array(
        // 'cat' => 3, // Only source posts from a specific category
        'posts_per_page' => 6 // Specify how many posts you'd like to display
        );
        $latest_posts = new WP_Query( $args );
        if ( $latest_posts->have_posts() ) {
        while ( $latest_posts->have_posts() ) {
        $latest_posts->the_post(); ?>

                                    <article class="vertical-item content-padding ls">
                                        <div class="item-media">
                            <img src="<?php the_post_thumbnail() ?>" alt="<?php the_title(); ?>">
                                        </div>
                                        <div class="item-content">
                                            <h4 class="entry-title">
                                                <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
                                            </h4>
                                            <div>

                                                <div class="media-body media-middle greylinks">

                                                    <br><a class="small-text" href="#"><?php the_time('l jS F, Y') ?></a>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="item-footer">

                                            <a class="lato lightgrey weight-black" href="<?php the_permalink(); ?>">Read this Article</a>
                                        </div>
                                    </article>
                                    <? }
        } else {
        echo '<p>There are no posts available</p>';
        }
        wp_reset_postdata();
        ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...