WordPress.org

Ready to get started?Download WordPress

Forums

Displaying Page Content using PHP (7 posts)

  1. ChrisHocking
    Member
    Posted 6 years ago #

    Hi Everyone!

    I've just started playing around with WordPress with the intention of using it as a CMS. So far it's working great!

    But now I have a question that I can't work out on my own. Hopefully you can understand what I'm getting at, as I find this kind of thing very hard to explain!

    What PHP code can I use to display page content? For example, I've created two new pages in WordPress called "pageone" and "pageoneside". I'm using a custom made theme. I've told WordPress to view the "pageone" page on startup. All good so far!

    Now, what code can I put in the "themes\themename\sidebar.php" file that will display the "pageoneside" page content in the sidebar regardless of what page WordPress is currently processing (i.e. "pageone")?

    I'm basically after something like:

    the_content(PAGEID);

    Is there a PHP function somewhere within the WordPress code that retrieves page data from the database and outputs it (when given the appropriate page ID)?

    I've tried looking through the code, but I can't find anything on first glances.

    The plan is, once I work out this, I can create a widget that displays pages in the sidebar, if those pages exists.

    For example, if the current page is called "home" and another page called "homeside" exists, then the content from "homeside" will be written into the sidebar.

    The theory is, if this all works, I can create a custom side panel for each page, which can be managed just like a page, because it is a page! Make sense?

    It will allow me to retain all the widget functionality, but with the added bonus of been able to display whatever content I like in the side panel, depending on the page, for any page.

    Please let me know if I'm making no sense at all.

    Any information you can provide me would be very much appreciated!

    Best Regards, Chris!

  2. Kafkaesqui

    Posted 6 years ago #

    Couple methods...

    Plugin way:

    http://guff.szub.net/2005/01/27/get-a-post/

    Manual way:

    <?php
    $sidebar_page = new WP_Query('pagename=Page Title');
    $sidebar_page->the_post();
    ?>
    <h2><?php the_title(); ?></h2>
    <?php the_content(); ?>

    Reference:
    http://codex.wordpress.org/Function_Reference/WP_Query
    (see query_posts() for WP_Query() parameter options)

  3. ChrisHocking
    Member
    Posted 6 years ago #

    Fantastic! Thanks heaps for that!

  4. ChrisHocking
    Member
    Posted 6 years ago #

    Ok, unfortunately I have another question for you...

    I've tried to work it out myself, but haven't been able to!

    Is there a function that can confirm or deny if a page exists based on a page name?

    For example:

    if (pageexists('pagename') == 1){ HappyTimes; }

    I tried using the WP_Query function, but that didn't help.

    Ideally I'm after something like this:

    $sbpage = "sidebar_" . the_title('','',0)
    if (pageexists($sbpage) == 1){
    $sidebar_page = new WP_Query('pagename=' . $sbpage);
    $sidebar_page->the_post();
    the_title();
    the_content();
    }

    Any ideas?

  5. Kafkaesqui

    Posted 6 years ago #

    $sbpage = "sidebar_" . the_title('','',0)
    $sidebar_page = new WP_Query('pagename=' . $sbpage);
    if( $sidebar_page ) {
    $sidebar_page->the_post();
    the_title();
    the_content();
    }

    I think that's the closest you'll come.

  6. ChrisHocking
    Member
    Posted 6 years ago #

    Thanks again for your fast reply! I really appreciate it...

    But unfortunately, the code you supplied doesn't seem to do what it's supposed to. I'm using it in the sidepanel.php template if that means anything...

    I think the problem is that $sidebar_page is always true. So there's a problem with the IF section of the code.

    Sorry, I know this should be really simple, but I just can't get my head around it!

  7. Kafkaesqui

    Posted 6 years ago #

    "I think the problem is that $sidebar_page is always true."

    Oops. I'd blame lack of sleep for that, but I slept pretty well last night...

    $sidebar_page = new WP_Query('pagename=About');
    if( $sidebar_page->post->ID ) {
    $sidebar_page->the_post();
    the_title();
    the_content();
    }

Topic Closed

This topic has been closed to new replies.

About this Topic