在知道父ID的情况下,按附件显示子对象

时间:2021-03-19 作者:May Ornelas

我试图显示我的当前页面(Licensicatura en Ciencias del Arte y Gestión Cultural)称为“的子项”;基础设施“;这是slug。我不知道我的代码有什么问题。它不返回页面。我猜pagename不起作用了。。。

        <?php   

        $pageid = $post->ID;
        $arg1 = array(
                \'post_type\'      => \'page\',
                \'posts_per_page\' => 1,
                \'post_parent\'    => $pageid,
                \'pagename\' => \'infraestructura\',
                
             );
        $child = new WP_Query( $arg1 ); ?>
        <div class="wrapp">
            <?php echo $pageid; ?>
                <?php if ($child->have_posts()) :?>
                <?php while ($child->have_posts()) : $child->the_post(); ?>
                    <?php the_title(); ?>
                    <?php the_content(); ?>
                <?php endwhile; ?>
            <?php else: ?>
                no page
            <?php endif; wp_reset_postdata();  ?>
        </div>
这是我的页面enter image description here

注意:我有相同的多页结构,这就是为什么我需要SLUG或名称来工作

1 个回复
SO网友:May Ornelas

这就是我解决问题的方法:

<?php   

        $pageid = $post->ID;
        $pageslug = $post->post_name;
        $pos = $post->post_parent;
        $posname = get_post_field( \'post_name\', $pos );;
        
        $arg1 = array(
                \'post_type\'      => \'page\',
                \'posts_per_page\' => 1,
                \'pagename\' => $posname.\'/\'.$pageslug.\'/infraestructura\',
                
             );
        $child = new WP_Query( $arg1 ); ?>
        <div class="wrapp">
                <?php if ($child->have_posts()) :?>
                <?php while ($child->have_posts()) : $child->the_post(); ?>
                    <?php the_title(); ?>
                    <?php the_content(); ?>
                <?php endwhile; ?>
            <?php else: ?>
                no page
            <?php endif; wp_reset_postdata();  ?>
        </div>