I have a sidebar on my site and there I want to show the current post's meta information, such as the last modified date, the author and more.
Thus I wrote the following function:
function showPostMetaInfo()
{
global $post;
setup_postdata($post);
$mypost = get_post();
$string.= "<table id='meta-info'>"
. "<thead>"
. "<tr>"
. "<th> Meta Type </th>"
. "<th> Value"
. "</tr>"
. "</thead>"
. "<tbody>"
. "<tr>"
. "<td> Title </td>"
. "<td>".get_the_title()."</td>"
. "</tr>"
. "<tr>"
. "<td> Author </td>"
. "<td>".get_the_author()."</td>"
. "</tr>"
. "<tr>"
. "<td> Published </td>"
. "<td>".get_the_date()."</td>"
. "</tr>"
. "<tr>"
. "<td> Last Modified </td>"
. "<td>".get_the_modified_date()."</td>"
. "</tr>"
. "<tr>"
. "<td> Categories </td>"
. "<td>".listCategories()."</td>"
. "</tr>"
. "<tr>"
. "<td> Tags </td>"
. "<td>".listTags()."</td>"
. "</tr>"
. "</tbody>"
. "</table>";
return $string;
}
However, var_dump($mypost)
returns NULL.
From what I understand this is because I call get_post()
before the information is ready.
My problem now is that I don't know WHERE and HOW and AFTER WHICH HOOK to call add_action(...)
properly. The function responsible for the sidebar is createPageInfo( $type )
where $type
can be single, page or null. How to pass that argument $type
to add_action properly?
I might have a conceptual misunderstanding but here's roughly how i built my current site:
index.php:
...
get_header();
createMainPanel();
get_sidebar();
get_footer();
...
sidebar.php:
...
if( is_single() || is_page() )
{
if( is_single() ){createPageInfo( "single" );}
elseif ( is_page() ){createPageInfo( "page" );}
}
else
{
createPageInfo ( null );
}
...