0

Actually, I try to make a carousel and I want to get the featured image of all the page which comes under category ID 4. There are problems the below code fetches all the pages added and not displaying the title of the page. Can anyone of you tell me what is wrong in the code

 <?php
            $args = array('posts_per_page' => -1,
                'offset' => 1,
                'category' => 4,
                'numberposts' => -1
            );
            $pages = get_pages($args);
            $i = 1;
            foreach ($pages as $page) {
                setup_postdata($page);


                if ($i == 1) {
                    ?>

                    <div class="carousel-item active"
                         style="background-image: url('<?php echo get_bloginfo('template_url'); ?>/img/intro-carousel/1.jpg');">
                        <div class="carousel-container">
                            <div class="carousel-content">


                                <?php $image = wp_get_attachment_image_src(get_post_thumbnail_id($page->ID), 'optional-size'); ?>
                                <h2><?php echo $page->post_title; ?></h2>
                                <p>
                                    <?php echo strip_tags(get_the_excerpt()); ?>
                                    <span>Convert Visitors Into Customers And Generate More Sales</span>
                                </p>
                                <a href="#about" class="btn-get-started scrollto"><img
                                            src="<?php echo $image[0]; ?>" alt="arrow"/></a>


                            </div>
                        </div>
                    </div>
                <?php } else { ?>
                    <div class="carousel-item"
                         style="background-image: url('<?php echo get_bloginfo('template_url'); ?>/img/intro-carousel/1.jpg');">
                        <div class="carousel-container">
                            <div class="carousel-content">


                                <?php $image = wp_get_attachment_image_src(get_post_thumbnail_id($page->ID), 'optional-size'); ?>
                                <h2><?php echo $page->post_title; ?></h2>
                                <p>
                                    <?php echo strip_tags(get_the_excerpt()); ?>
                                    <span>Convert Visitors Into Customers And Generate More Sales</span>
                                </p>
                                <a href="#about" class="btn-get-started scrollto"><img
                                            src="<?php echo $image[0]; ?>" alt="arrow"/></a>


                            </div>
                        </div>
                    </div>


                <?php }
                $i++;
            }
            ?>
0

Use this code ,

<?php
$args = array(
    'posts_per_page' => -1,
    'offset' => 1,
    'category' => 4,
    'numberposts' => -1
);
$pages = get_pages($args);
$i = 1; 
    foreach ($pages as $page) {
        if ($i == 1) { ?>
            <div class="carousel-item active" style="background-image: url('<?php echo get_bloginfo('template_url'); ?>/img/intro-carousel/1.jpg');">
                <div class="carousel-container">
                    <div class="carousel-content">
                        <?php $image = wp_get_attachment_image_src(get_post_thumbnail_id($page->ID), 'optional-size'); ?>
                        <h2><?php echo $page->post_title; ?></h2>
                        <p>
                            <?php echo strip_tags(get_the_excerpt()); ?>
                            <span>Convert Visitors Into Customers And Generate More Sales</span>
                        </p>
                            <a href="#about" class="btn-get-started scrollto">
                                <img src="<?php echo $image[0]; ?>" alt="arrow"/>
                            </a>
                    </div>
                </div>
            </div>
        <?php } else { ?>
            <div class="carousel-item" style="background-image: url('<?php echo get_bloginfo('template_url'); ?>/img/intro-carousel/1.jpg');">
                <div class="carousel-container">
                    <div class="carousel-content">
                        <?php $image = wp_get_attachment_image_src(get_post_thumbnail_id($page->ID), 'optional-size'); ?>
                            <h2><?php echo $page->post_title; ?></h2>
                            <p>
                                <?php echo strip_tags(get_the_excerpt()); ?>
                                <span>Convert Visitors Into Customers And Generate More Sales</span>
                            </p>
                            <a href="#about" class="btn-get-started scrollto">
                                <img src="<?php echo $image[0]; ?>" alt="arrow"/>
                            </a>
                    </div>
                </div>
            </div>
        <?php }
        $i++;
    }
    wp_reset_query();
?>
  • Hello Gopala thanks for the code but it's still getting all the pages in Wordpress – Harjinder Banga May 29 '19 at 17:20
  • Have you tried get_the_title(get_the_ID());... for page title – Gopala krishnan Jun 18 '19 at 12:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.