循环内循环 - 二十六主题Wordpress

时间:2016-11-17 10:23:20

标签: php wordpress loops

你好,word wordpress expirienced用户。 我在使用Wordpress TwentySixteen主题的主页上最新的3个帖子摘录缩略图时遇到了困难。 我尝试了各种各样的可能性,但我无法让它运行。

目标是查看这样的帖子: http://caenthemes.cekuj.net/?s=p%C5%99%C3%ADsp%C4%9Bvek

我的想法是使用已经制作的模板进行搜索页面。 但除此之外,摘录的文字无处可寻: http://caenthemes.cekuj.net/ 事实上它没有风格请假。

主页的代码:

 <?php
/**
 * The template for displaying main-page without title.
 * @package WordPress
 * @subpackage Twenty_Sixteen
 * @since Twenty Sixteen 1.0
 */
?>

<section id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
    <!--<header class="entry-header">
    <?php the_title('<h1 class="entry-title">', '</h1>'); ?>
    </header><!-- .entry-header -->
    <div class="wp-page-content">
        <?php
        the_content();
        wp_link_pages(array(
            'before' => '<div class="page-links"><span class="page-links-title">' . __('Pages:', 'twentysixteen') . '</span>',
            'after' => '</div>',
            'link_before' => '<span>',
            'link_after' => '</span>',
            'pagelink' => '<span class="screen-reader-text">' . __('Page', 'twentysixteen') . ' </span>%',
            'separator' => '<span class="screen-reader-text">, </span>',
        ));
        ?>
    </div><!-- .entry-content -->
</section>   
<section>
    <header class="entry-header">
        <h2>
            <?php
            if (get_locale() == 'cs_CZ') {
                echo "Nejnovější příspěvky";
            } else {
                echo "Latest posts";
            }
            ?>
        </h2>
    </header><!-- .entry-header -->

    <?php
    $args = array(
        'posts_per_page' => 3,
        'offset' => 0,
        'category' => '',
        'category_name' => '',
        'orderby' => 'date',
        'order' => 'DESC',
        'include' => '',
        'exclude' => '',
        'meta_key' => '',
        'meta_value' => '',
        'post_type' => 'post',
        'post_mime_type' => '',
        'post_parent' => '',
        'author' => '',
        'author_name' => '',
        'post_status' => 'publish',
        'suppress_filters' => true
    );
    $myposts = get_posts($args);
    foreach ($myposts as $post) : setup_postdata($post);
        get_template_part('template-parts/content', 'search');
    endforeach;
    wp_reset_postdata();
    ?>
</section><!-- #wp-page-content-## -->

我80%确定我没有正确处理二十六个主循环中的内循环。只是为了涵盖所有的可能性我也试图这样做,而不是通过获取模板,但我仍然只获得帖子类别标题和缩略图,但不是摘录。 你能帮帮我吗? 整个页面基于我修改的二十六个主题。 非常感谢你, Caen Ragestorm

2 个答案:

答案 0 :(得分:0)

要获取标题,内容和精选图片等帖子详细信息,您可以使用以下代码:

$latestPost = new WP_Query( array( 'post_type' => 'posts', 'posts_per_page' =>-1,'order' => 'ASC') );
while ( $latestPost->have_posts() ) : $latestPost->the_post();
       $sTitle                = the_title();
       $sContent              = the_content();
       $feat_image_latestPost = wp_get_attachment_url( get_post_thumbnail_id($post->ID) );
endwhile;

根据您的要求重新编写CSS。

答案 1 :(得分:0)

感谢SJP,我让它发挥了作用。因此,为我工作的完整代码就在这里,希望其他任何人都能发现它有用:

    <section id="latest-posts">
    <header class="entry-header">
        <h2>
            <?php
            if (get_locale() == 'cs_CZ') {
                echo "Nejnovější příspěvky";
            } else {
                echo "Latest posts";
            }
            ?>
        </h2>
    </header><!-- .entry-header -->
    <div class="entry-content">
        <?php
        $args = array(
            'posts_per_page' => 3,
            'orderby' => 'date',
            'order' => 'DESC',
            'post_type' => 'post',
            'post_status' => 'publish',
            'suppress_filters' => true
        );
        $latestPost = new WP_Query($args);
        while ($latestPost->have_posts()) : $latestPost->the_post();
            ?>
            <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
                <header class="entry-header">
                    <?php the_title(sprintf('<h2 class="entry-title"><a href="%s" rel="bookmark">', esc_url(get_permalink())), '</a></h2>'); ?>
                </header><!-- .entry-header -->
                <div class="post-summary">
                    <a class="post-thumbnail" href="<?php the_permalink(); ?>" aria-hidden="true">
                        <?php the_post_thumbnail('post-thumbnail', array('alt' => the_title_attribute('echo=0'))); ?>
                    </a>
                    <div class="entry-summary">
                        <?php the_excerpt(); ?>
                    </div>
                </div>
                <?php if ('post' === get_post_type()) : ?>

                    <footer class="entry-footer">
                        <?php twentysixteen_entry_meta(); ?>
                        <?php
                        edit_post_link(
                                sprintf(
                                        /* translators: %s: Name of current post */
                                        __('Edit<span class="screen-reader-text"> "%s"</span>', 'twentysixteen'), get_the_title()
                                ), '<span class="edit-link">', '</span>'
                        );
                        ?>
                    </footer><!-- .entry-footer -->

                    <?php else : ?>

                    <?php
                    edit_post_link(
                            sprintf(
                                    /* translators: %s: Name of current post */
                                    __('Edit<span class="screen-reader-text"> "%s"</span>', 'twentysixteen'), get_the_title()
                            ), '<footer class="entry-footer"><span class="edit-link">', '</span></footer><!-- .entry-footer -->'
                    );
                    ?>

                <?php endif; ?>
            </article>
                <?php
            endwhile;
            wp_reset_postdata();
            ?>
    </div>
</section>

祝大家美好的一天。 Caen Ragestorm

www.CaenRagestorm.cz