WordPress.org

Ready to get started?Download WordPress

Forums

page_ID variable? (9 posts)

  1. subunit
    Member
    Posted 9 years ago #

    is there a page_ID variable?

  2. Kafkaesqui

    Posted 9 years ago #

    $page_id;

    Or you could assign to your own variable:

    $my_page_id = get_query_var('page_id');

    Note that page_id is available when on a Page *and* using the default permalink structure (/?page_id=1).

  3. subunit
    Member
    Posted 9 years ago #

    cool. I want to get wp_list_pages() to give me parent page information. is this possible?

    Example:

    I am on page 13, and page 13 is a child of 10 with a sibling of 12 and 11.

    I want to have a link to 10 when I am on 13 or 12 or 11.

  4. subunit
    Member
    Posted 9 years ago #

    also, I have default permalinkage

  5. subunit
    Member
    Posted 9 years ago #

    I have a workaround.

  6. spacedusterxlr8
    Member
    Posted 9 years ago #

    What needs to be modified to show a page id as the id in the

  7. element when using wp_list_pages()?
  • Kafkaesqui

    Posted 9 years ago #

    ?

    I assume you mean as the value for the 'child_of' parameter? Just make sure the parameter list is in double-quotes:

    <?php wp_list_pages("child_of=$page_id"); ?>

    Note that if you are not using the default permalink structure, $page_id will not be available, and you'll need a little PHP to collect it for you:

    <?php
    global $post;
    $page_id = $post->ID;
    wp_list_pages("child_of=$page_id");
    ?>

  • spacedusterxlr8
    Member
    Posted 9 years ago #

    Ah... a little more detail. I am attempting to give each page link in my horizontal navigation a unique icon. So I wanted to ad an id to the list element.

    Right now it appears as
    <li class="page_item"><a href="http://localhost/wordpress/?page_id=3" title="Archives">About</a></li>

    What I need is
    <li id="about" class="page_item"><a href="http://localhost/wordpress/?page_id=3" title="Archives">About</a></li>

    It doesn't really matter what the id is as long as each

    list element receives a unique id identifying the page.

  • Kafkaesqui

    Posted 9 years ago #

    Hmm. So you're looking to modify the output of wp_list_pages() to add the id? Got it.

    You'll probably need to modify template-functions-post.php (in wp-includes/). Around line 365 you'll find the function _page_level_out(). This is where the Page link list is generated. Look for this line:

    $output .= $indent . '<li class="' . $css_class . '"><a href="' . get_page_link($page_id) . '" title="' . wp_specialchars($title) . '">' . $title . '</a>';

    and add in your id attribute. We'll use the Page ID as part of it (for uniqueness, you know):

    $output .= $indent . '<li class="' . $css_class . '" id="page-' . $page_id . '"><a href="' . get_page_link($page_id) . '" title="' . wp_specialchars($title) . '">' . $title . '</a>';

    Hacking notes: back up sources files before editing them, and comment your changes for future reference.

  • Topic Closed

    This topic has been closed to new replies.

    About this Topic

    Tags