WordPress最新新闻页面显示所有新闻故事中的自定义字段

时间:2014-10-13 14:28:01

标签: wordpress

我有自己的自定义WordPress主题,我正在构建“最新消息”部分。我的页面标题图片和alt标记的自定义字段用于我网站上的每个页面,我使用以下代码在每个页面上显示这些自定义字段:

<section class="page-heading">
      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
            <img src="<?php the_field( 'header_image' ); ?>" alt="<?php the_field( 'main_header_image_alt_tag' ); ?>">
      <?php endwhile; endif; ?>
</section>

哪个工作正常。但是在我的“最新新闻”页面上显示所有新闻报道(帖子)中的所有自定义字段,例如,如果我每页显示3个帖子,那么我将显示3个图像和3个alt标记。

在我的设置中,我将“帖子页面”设置为“最新消息”。

有没有办法我只能显示1张图片和1张alt标签而不是全部3张?

感谢。

修改 我添加了一个图片以便更好地解释......跨越屏幕的图像来自新闻报道,而不是“最新新闻”页面的自定义字段。

enter image description here

3 个答案:

答案 0 :(得分:0)

我不知道我是否理解你的问题,但你希望你的第一篇文章显示图像,其余的不显示?

我想你必须写下这样的东西:

<section class="page-heading">
<php $show_first_image = true; ?>
  <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
        <?php if($show_first_image): $show_first_image = false; ?>
           <img src="<?php the_field( 'header_image' ); ?>" alt="<?php the_field( 'main_header_image_alt_tag' ); ?>">
        <?php endif; ?>
  <?php endwhile; endif; ?>

答案 1 :(得分:0)

我想我理解你的问题,你的最新新闻也是一个页面(帖子类型),它有标题图片。

您的索引文件/存档是这样的:

<?php
get_header();
if(have_posts()):
    while(have_posts()):
        // your latest news * 3.
endwhile;endif;
get_footer(); ?>

问题是,在get_header()之前加载了它的项目,将显示你的标题图像。

你做的是这样的:

<?php
global $wp_query;
$original_query = $wp_query;
$wp_query = null;
$page = get_query_var( 'pagename' );
$wp_query = new WP_Query( array('post_type' => 'page', 'pagename' => $page ) );
get_header(); // in the get_header() you will probably have the <section class="page-heading">

$wp_query = null;
$wp_query = $original_query;

if(have_posts()):
    while(have_posts()):
        // your latest news * 3.
endwhile;endif;
get_footer(); ?>

我希望这是你对问题的回答。

答案 2 :(得分:0)

我通过为我的新闻页面创建一个新模板并在该模板中使用WP_Query来引入最新的新闻故事来解决这个问题。我也没有设置帖子页面&#39;在我的阅读设置中,导致所有问题的原因。

我不确定这是否是最有效的做事方式,但它对我有用。

VVC,感谢您的帮助和努力。

<!-- WP Query Arguments -->
                                <?php

                                    $args = array(
                                        'page_id' => '103'
                                    );

                                    $the_query = new WP_Query( $args );
                                ?>
                                <!-- End WP Query Arguments -->

                                <!-- WP Query loop -->
                                <?php if ( have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); ?>

                                    <h3><?php the_title(); ?></h3>
                                    <?php the_content(); ?>

                                <?php endwhile; ?>

                                <?php else: ?>
                                    <h2>No posts to display</h2>
                                <?php endif; ?>
                                <!-- End WP Query loop -->


                                <!-- WP Query Arguments -->
                                <?php

                                    $args = array(
                                        'post_type' => 'post',
                                        'posts_per_page' => '5'
                                    );

                                    $the_query = new WP_Query( $args );
                                ?>
                                <!-- End WP Query Arguments -->

                                <!-- WP Query loop -->
                                <?php if ( have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
                                <div class="news-story">
                                    <div class="news-heading">
                                        <h5><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h5>
                                        <p class="publish-date"><strong>Posted on:</strong> <?php the_time('j M, Y'); ?></p>
                                    </div>

                                    <?php the_excerpt(); ?>

                                    <p><a href="<?php the_permalink(); ?>" class="site-button-light-blue">Full Story <i class="fa fa-angle-double-right"></i></a></p>
                                </div>
                                <?php endwhile; ?>

                                <?php else: ?>
                                    <h2>No posts to display</h2>
                                <?php endif; ?>
                                <!-- End WP Query loop -->