【问题标题】:Getting excerpt in loop within loop – Twenty sixteen theme Wordpress在循环中循环摘录 – 二十六个主题 Wordpress
【发布时间】:2016-11-18 03:09:35
【问题描述】:

您好,wordpress 经验丰富的用户。 我在 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% 确定我没有正确处理 216 的主循环中的内部循环。只是为了涵盖所有可能性,我也试图不通过获取模板来做到这一点,但我仍然只得到帖子类别标题和缩略图,而不是摘录。 你能帮我解决这个问题吗? 整个页面基于我修改的二十六主题。 非常感谢, 卡昂狂暴风暴

【问题讨论】:

    标签: php wordpress loops


    【解决方案1】:

    要获取帖子详细信息,例如标题、内容和特色图片,您可以使用以下代码:

    $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。

    【讨论】:

    • 感谢代码,但我不确定它是否适用于摘录?因为那是什么不能正常工作。可能会得到 the_excerpt() 而不是内容?
    【解决方案2】:

    感谢 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>
    

    祝大家有美好的一天。 卡昂狂暴风暴

    www.CaenRagestorm.cz

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-26
      • 1970-01-01
      • 1970-01-01
      • 2017-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多