wordpress plugin: query post-ID in plugin?

柔情痞子 提交于 2019-12-04 06:24:22

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!