如何在wordpress中显示另一个页面的部分内容?

时间:2014-01-11 08:45:18

标签: php wordpress

我有一个名为Dashboard的页面,并希望在Dashboard页面上显示说明页面A和B的内容。我可以使用以下代码实现此目的,但我只想显示A和B的部分内容,如片段。如何以与A和B页上显示的完全相同的样式显示此内容?

function show_post($path) {
 $post = get_page_by_path($path);
 $content = apply_filters('the_content', $post->post_content);
 echo $content;
}

<?php show_post('pageA');  // Shows the content of the "PageA" page. ?>
<?php show_post('pageB');  // Shows the content of the "PageB" page. ?>

页面A显示了此代码的内容:

 <ul class="leftlist">
        <?php
        while ( $loop->have_posts() ) : $loop->the_post();
        ?>
        <li class="todo" id="<?php echo get_the_ID();?>" itemage="<?php echo get_post_meta(get_the_ID(),'_todotime',true)?>"><a href="javascript:;"
        <?php if($all_meta_for_user[get_the_ID()][0]){              
        ?>
        class="strike"
        <?php
         }
        ?>
        >           
        <?php if($all_meta_for_user[get_the_ID()][0]){?>
            <span class="check_box cb"></span>
            <?php }else{?>
        <span class="uncheck_box cb"></span>
        <?php }?>   
        <p><?php the_title(); ?></p></a>           
        <?php
        endwhile;
        ?>            
        </ul>

提前致谢

2 个答案:

答案 0 :(得分:0)

你可以通过发布创建2个帖子轻松地做到这一点,假设A和B.它将生成类似20,22的ID ...并在页面A中使用此代码:

<?php  $cquery = new WP_Query('cat=20'); $i=1; ?>
      <?php if($cquery->have_posts()): while($cquery->have_posts()):  $cquery->the_post();   
      <?php the_post_thumbnail();   ?>
      <?php the_content(); ?>
      <?php $i++; endwhile; endif; endif;  ?> 

并且类似地对于具有id 22的帖子B.

答案 1 :(得分:0)

我不是最极端的php编码器。但我正在尝试。 以下是使用php explode执行此操作的代码。

在您的页面A或B中只输入一个爆炸标识符。 像这样:

Here is the first of the contents of the page. 
<!--start-->
From this part you want to show something
<!--stop-->
Here is the rest of the contents

然后你的功能就像:

function show_post($path) {
 $post = get_page_by_path($path);
 $content = apply_filters('the_content', $post->post_content);
 $explode=explode('<!--start-->',$content);
 $explode=explode('<!--stop-->',$explode[1]);
 echo $explode[0];
}