andandandandrew
andandandandrew

Reputation: 59

Wordpress: How Can You Get The URL Of The Next Child Page In A Sequence Of Child Pages

I'm finishing up my new portfolio and am trying to figure out a way to get a 'next' and 'prev' URLs for the child pages of the parent, which is called 'Work'.

The reason I want URLs is because the actual clickable link is an SVG at larger viewport sizes and I want to maintain all of my css access to the SVGs.

I'm including an image of how the navigation looks (looks like an aside, but it's actually a outside of the ).

enter image description here

I know that pages in worpress 'aren't meant to be paginated' but this is the same thing as creating a new post type and using the pagination there, except im doing some other things where I want access to templates. I tried using this plugin:

http://binarym.com/2009/next-page-not-next-post/

Which works, but I can't get my SVGs in there as opposed to text. If anyone has a way to replace the text in those strings with my SVG paths, that's an acceptable fix too. Here's a code snippet of what that looks like using that plugin:

    <nav role="navigation" class="project-pagination">
        <a href="/work">
            <?php include (TEMPLATEPATH . '/images/_svgs/nav_gallery.svg'); ?>
        </a>
        <?php
            $nextPage = next_page_not_post('Next Page', 'true', 'sort_column=post_date&sort_order=desc');
            $prevPage = previous_page_not_post('Previous Page', 'true', 'sort_column=post_date&sort_order=desc');

            if (!empty($nextPage) || !empty($prevPage)) {
                if (!empty($nextPage)) echo $nextPage;
                if (!empty($prevPage)) echo $prevPage;
            }
        ?>
    </nav>

Thanks all!

Upvotes: 0

Views: 1303

Answers (1)

andandandandrew
andandandandrew

Reputation: 59

I found the answer here: Magic Town

<nav role="navigation" class="project-pagination">
<a href="/work" aria-label="View All Projects" alt="View All Projects">
    <?php include (TEMPLATEPATH . '/images/_svgs/nav_gallery.svg'); ?><span>View All Projects</span>
</a>
<?php
    $pagelist = get_pages("child_of=".$post->post_parent."&parent=".$post->post_parent."&sort_column=menu_order&sort_order=asc");
    $pages = array();
    foreach ($pagelist as $page) {
       $pages[] += $page->ID;
    }

    $current = array_search($post->ID, $pages);
    $prevID = $pages[$current-1];
    $nextID = $pages[$current+1];
?>

<?php if (!empty($nextID)) { ?>
        <a href="<?php echo get_permalink($nextID); ?>" title="<?php echo get_the_title($nextID); ?>" aria-label="Next Project" alt="Next Project"><?php include (TEMPLATEPATH . '/images/_svgs/nav_next.svg'); ?><span>Next Project</span></a>
<?php }
if (!empty($prevID)) { ?>
    <a href="<?php echo get_permalink($prevID); ?>" title="<?php echo get_the_title($prevID); ?>" aria-label="Previous Project" alt="Previous Project"><?php include (TEMPLATEPATH . '/images/_svgs/nav_prev.svg'); ?><span>Previous Project</span></a>
<?php } ?>

Upvotes: 1

Related Questions