плагин WordPress: запрос post-ID в плагине? - PullRequest
0 голосов
/ 15 февраля 2011

Эй, ребята, может быть, некоторые из вас имеют опыт программирования плагинов WordPress. У меня, вероятно, довольно простой вопрос, но я ничего не мог найти в Интернете.

<?php
/*
Plugin Name: test
*/

function test($content) {

    echo $post_id;
    return $content;
}

add_filter('the_content', 'test');  
?>

У меня есть плагин simpel, который должен отображать уникальный идентификатор каждого сообщения в его контенте. Так что на моей главной странице с 10 сообщениями каждое сообщение должно иметь свой идентификатор.

Есть идеи, как этого добиться? спасибо!

Ответы [ 3 ]

2 голосов
/ 15 февраля 2011

Мое предположение Используйте ключевое слово global для доступа к идентификатору записи в функции

А также я думаю, что return и echo не будут работать вместе в функции

function test($content) {
        global $post;
        return $post->ID.'<br>'.$content;
    }
1 голос
/ 15 февраля 2011

Вы смешиваете эхо и возврат - это не работает. Однако попробуйте:

function test($content) 
{
    return "id: ".$post_id."<br/>".$content;
}

также убедитесь, что используется строчный идентификатор, так как он чувствителен к регистру

http://codex.wordpress.org/Function_Reference/get_the_ID может быть полезно

0 голосов
/ 16 февраля 2011

Фильтры должны возвращаться, а не отражаться.

function test($content) {
    global $post;
    return 'id: ' . $post->ID . '<br />' . $content;
}

Чтобы посмотреть свойства объекта post, вы должны ввести $post в область действия функции, вот что делает эта строка ..

global $post;

Который затем разрешает ссылку на идентификатор объекта, например.

$post->ID;

См. Здесь, чтобы помочь понять действия и фильтры.
http://codex.wordpress.org/Plugin_API

Примерфильтр.
http://codex.wordpress.org/Plugin_API#Example

...