我在我的网站上有一个侧边栏,我想在那里显示当前帖子的元信息,比如上次修改的日期、作者等等。
因此,我编写了以下函数:
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;
}
然而,
var_dump($mypost)
返回NULL。
据我所知,这是因为我打电话get_post()
在信息准备就绪之前。
我现在的问题是我不知道WHERE and HOW and AFTER WHICH HOOK 调用add_action(...)
正确地负责侧栏的功能是createPageInfo( $type )
哪里$type
可以是单页、页或空。如何传递该论点$type
要正确添加\\u操作?
我可能有一个概念上的误解,但以下是我如何构建当前网站的大致情况:
指数php:
...
get_header();
createMainPanel();
get_sidebar();
get_footer();
...
侧栏。php:
...
if( is_single() || is_page() )
{
if( is_single() ){createPageInfo( "single" );}
elseif ( is_page() ){createPageInfo( "page" );}
}
else
{
createPageInfo ( null );
}
...
EDIT:
根据Rarst的建议,我将showPostMetaInfo()更改为:
function showPostMetaInfo()
{
$mypost = get_post();
$id = $mypost->ID;
$title = $mypost->post_title;
$title2 = get_the_title();
$date = $mypost->post_date;
echo $id;
echo $title;
echo $title2;
echo $date;
$string .= "<p>".$title."</p>";
return $string;
}
结果是
$id
,
$title
,
$title2
, 和
$date
正确回显,但函数返回
"<p></p>"
只有
现在我真的很困惑。。。