如何显示来自兄弟姐妹/来自同一父辈的所有图像?

时间:2013-02-26 作者:Andy-with-love

我需要知道如何显示当前页面同级中的所有图像。

我有两个父母(曲棍球和足球)和孩子。在所有这些孩子中,我附上了一张或几张图片(我只是通过wordpress Deafolt上传器上传了它们)。现在我想要一个页面(称为“所有团队的所有图像”),该页面显示附加到其兄弟/与当前具有相同父级的所有图像。如果你点击一张从“纽约游骑兵队”页面拍摄的图片,你将被发送到该页面。

Hockey

<底特律红翼队,多伦多枫叶队,纽约流浪者队,所有曲棍球队的图片

Football

<利物浦,阿森纳,曼联,所有足球队的图片,救命!请

我的代码:

<?php get_header(); ?>   <?php if (have_posts()) : ?>   <?php while (have_posts()) : the_post(); ?>  <div class="big-img"> <?php echo do_shortcode(\'[portfolio_slideshow size=full navpos=disable trans=scrollHorz pagerstyle=bullets autoplay=true]\'); ?> </div>     <div class="post-content"> <div class="left-nav">  <?php include "left-sidebar.php";?>  </div>  <div class="content">  <div class="post-title"> <h1><?php the_title(); ?></h1></div>  <?php the_content(\'read the entry &#187;\'); ?> <?php the_tags( \'<div class="main-meta"> Tags: \', \', \', \'</div>\'); ?> <?php echo do_shortcode(\'[portfolio_slideshow size=thumbnail carousel=false navpos=disable ]\'); ?>  <div class="clear"></div> </div>   <?php endwhile; ?>  <?php next_posts_link(\'&laquo; old Posts\') ?> <?php previous_posts_link(\'new Posts &raquo;\') ?>  <?php else : ?>  Not Found  <?php include (TEMPLATEPATH . "/searchform.php"); ?>   <?php endif; ?>  </div>  </div>  <div class="right-nav">  <?php include "right-sidebar.php";?>  </div>  <?php include "footer.php";?>

1 个回复
SO网友:sanchothefat

很高兴看到利物浦站在榜首!

我会使用页面模板来实现这一点。据我所知,我们只知道页面名称,因此我将以这种方式添加它。

过程如下:

循环浏览顶级页面以数组形式收集子页面循环浏览子页面循环浏览子附件

<?php

/*
Template Name: All images
*/

get_header();

// pages to loop through
$sports = array( \'Hockey\', \'Football\' );

// empty array where we collect teams
$teams = array();

// collect teams
foreach( $sports as $sport ) {

    $page = get_page_by_title( $sport );

    $teams = array_merge(
                get_children( array(
                    \'post_parent\' => $page->ID,
                    \'numberposts\' => -1,
                    \'post_type\' => \'page\'
                ) ),
                $teams
            );

}

// you could do some custom sorting or randomisation of the order here

// loop through teams
foreach( $teams as &$team ) {

    // get image attachments for each team
    $images = get_children( array(
            \'post_parent\' => $team->ID,
            \'numberposts\' => -1,
            \'post_type\' => \'attachment\',
            \'post_mime_type\' => \'image\'
            ) );

    // output images
    foreach( $image as &$image ) {

        // link to team page
        echo \'<a href="\' . get_permalink( $team->ID ) . \'">\';
        echo wp_get_attachment_image( $image->ID, \'medium\' );
        echo \'</a>\';

    }

}

get_sidebar();

get_footer();
您需要稍微修改标记,并记住这将非常缓慢,因此您可能需要考虑使用缓存插件。

结束

相关推荐

必需:找不到wp_link_ages。请参阅:WP_LINK_PAGES by Theme Checker

我已经通过WordPress主题检查器运行了我的主题,看看它是否可以提交给WordPress。组织。我遇到了以下错误:必需:找不到wp\\u link\\u页面。请参阅:wp\\U link\\u页面但事实并非如此。我正在使用自定义函数wp_my_own_link_pages() 它是wp_link_pages(). 它为主题生成具有兼容HTML结构的分页。我错过了一些必要的东西吗?我怎样才能做到这一点?