一页上有多页

时间:2014-05-04 作者:martin

我有以下代码(由alchemyth非常友好地创建,以回答我在WordPress.org论坛上发布的一个问题here) 我希望使用它在一个页面上显示许多页面:

<?php
$args = array(
  \'post_type\' => \'page\',
  \'post__in\' => array( 2, 5, 35, 67 ) //list of page_ids
);
$page_query = new WP_Query( $args );
if( $page_query->have_posts() ) :
echo \'<div class="pages-on-page">\';
//print any general title or any header here//
while( $page_query->have_posts() ) : $page_query->the_post();
echo \'<div class="page-on-page" id="page_id-\' . $post->ID . \'">\';
//print any output you want per page//
echo \'</div>\';
endwhile;
echo \'</div>\';
else:
//optional text here is no pages found//
endif;
wp_reset_postdata();
?>
作为一个新手,我不知道该把它放在哪里才能让它工作!如果有人能帮助我,我将非常感激。

2 个回复
最合适的回答,由SO网友:Douglas.Sesar 整理而成

看看Wordpress Page Templates;

您可以创建一个结构与当前主题相匹配的文件,并将代码放在内容区域(或为您的特殊内容放置一个动作挂钩)。

举个例子:

/*
Template Name: My Custom Page
*/

get_header(); ?>

<div id="primary" class="site-content">
    <div id="content" role="main">

        <?php
        $args = array(
          \'post_type\' => \'page\',
          \'post__in\' => array( 2, 5, 35, 67 ) //list of page_ids
        );
        $page_query = new WP_Query( $args );
        if( $page_query->have_posts() ) :
        echo \'<div class="pages-on-page">\';
        //print any general title or any header here//
        while( $page_query->have_posts() ) : $page_query->the_post();
        echo \'<div class="page-on-page" id="page_id-\' . $post->ID . \'">\';
        //print any output you want per page//
        echo \'</div>\';
        endwhile;
        echo \'</div>\';
        else:
        //optional text here is no pages found//
        endif;
        wp_reset_postdata();
        ?>

    </div><!-- #content -->
</div><!-- #primary -->
****不要忘记以<;开头文件?php

将此代码保存为几乎任何名称的PHP文件your_custom_template.php 并将其放入子主题文件夹中。然后添加新页面并将页面模板分配为My Custom Page 如上代码所示。

这至少可以让您开始在网站正面看到您的代码。

SO网友:maximmurmansk

这适用于我的WP 2212,别忘了更改页面ID

 <?php
/*
Template Name: My Custom Page
*/

get_header();
$args = array(
    \'posts_per_page\' => get_option(\'posts_per_page\'), // значение по умолчанию берётся из настроек, но вы можете использовать и собственное
    \'paged\'          => $current_page // текущая страница
    );
    query_posts(
    array( \'post_type\'=>\'page\', \'post__in\' => array( 6891, 9400 ) ) //change page IDs
); ?>

<div id="primary" class="site-content">
    <div id="content" role="main">
<?php
            while ( have_posts() ) :
                the_post();
                ?>
                <?php if ( has_post_thumbnail() ) : ?>
                    <div class="entry-page-image">
                        <?php the_post_thumbnail(); ?>
                    </div><!-- .entry-page-image -->
                <?php endif; ?>

                <?php get_template_part( \'content\', \'page\' ); ?>

                <?php endwhile; // end of the loop. ?>

    </div><!-- #content -->
    </div><!-- #primary -->

<?php get_sidebar(); ?>
<?php get_footer(); ?>

结束

相关推荐

wp_dropdown_pages auto submit

我下面的内容目前运行良好,但有一个问题除外:当选择一个选择项时,它将正确转到子页面-但是,如果已经在主站点的子页面上,并且从下拉列表中选择了一个项,则选择url将附加到现有页面url,而不是作为完整url传递。例如如果在现场。com并选择选项1,我们将导航到站点。com/choice1/-如果我们在现场。com/choice1和choice2被选中,它试图将我们引导到站点。com/choice1/choice2-我不知道如何调整下面的代码来传递完整的URL。任何帮助都将不胜感激。<?php