问题
hey guys, maybe some of you have experience with programming wordpress plugins. I have a probably rather simpel question, but i couldn't find anything on the web.
<?php
/*
Plugin Name: test
*/
function test($content) {
echo $post_id;
return $content;
}
add_filter('the_content', 'test');
?>
I have a simpel plugin that should echo out the unique ID of every post in it's content. So on my frontpage with 10 posts every post should have it's ID echoed out.
Any idea how to achieve that? thank you!
回答1:
My guess is
Use global
keyword to access post id in function
And also my guess is return and echo both would not work together in function
function test($content) {
global $post;
return $post->ID.'<br>'.$content;
}
回答2:
You're mixing echo and return - that doesnt work. However, try:
function test($content)
{
return "id: ".$post_id."<br/>".$content;
}
also, make sure to use lowercase id, as it is case-sensitive
http://codex.wordpress.org/Function_Reference/get_the_ID might be usefull aswell
回答3:
Filters should return, not echo.
function test($content) {
global $post;
return 'id: ' . $post->ID . '<br />' . $content;
}
In order to look at the post object properties you must bring $post
into the scope of the function, that's what this line does..
global $post;
Which then allows the reference to the object's ID, eg.
$post->ID;
See here for help understanding actions and filters.
http://codex.wordpress.org/Plugin_API
Example filter.
http://codex.wordpress.org/Plugin_API#Example
来源:https://stackoverflow.com/questions/5006466/wordpress-plugin-query-post-id-in-plugin