• DONATE to NULLED!
    Вы можете помочь Форуму и команде, поддержать финансово.
    starwanderer - модератор этого раздела будет Вам благодарен!

Помощь Как создать плагин

Горбушка

Ищу её...
Регистрация
2 Май 2008
Сообщения
3.444
Реакции
2.524
Всем привет!

Есть задача - написать плагин для WordPress...
Все изученные материалы описывают создание панели администратора и шоркодов... Мне же необходимо сделать пользовательскую часть...

Объясните, как сделать примитивный плагин в 3 страницы:

Ссылка - текст:
/test/ - Hello world!
/test/1/ - Hello!
/test/2/ - World!

Т.е. не на шорткоде и вставлять его в созданную в админке страницу, а именно сделать перехват /test/{0-9} и выводить разные страницы...
Для примера подойдёт простой echo в шаблоне WP...

P.s. Codex читал, но ощущение "Смотрю в книгу - вижу фигу"... Для админки всё легко - добавляешь меню, по открытию - вызываешь функцию. Всё... А в пользовательской - хоть ты тресни :(
 
Постановка задачи "очень" размыта. Если я правильно вас понял, то при запросе определенной страницы должно выводится содержимое другой страницы. Тогда плагин писать - это лишнее.

Пробуйте вот это:

Код:
function intercept_request( $query ){
    $url_request = urldecode($_SERVER['REQUEST_URI']);

if( $url_request == '/test/' ){
        $query['pagename'] = urlencode('XX');
        unset($query['name']);
    }
    return $query;
}
add_filter( 'request', 'intercept_request', 9999, 1 );

где ХХ- имя страницы, содержимое которой необходимо вывести.
 
Panadina, на данный момент для меня задача - это перехватить управление странице у WP и вывести некий свой контент...
Например, форму обратной связи, статус ИТ систем, форум, чат и т.д. Это не страницы WP, это будет сгенерировано мной...

Я могу, конечно, написать подробное ТЗ, но просто тоже не хочу чтобы за меня на халяву делали работу :)

На текущий момент для меня сложность - вывести по /test/ вместо списка статей или сообщения 404 ошибки некий текст, выданный моей функцией.
Т.е. при обращении /test/ и /test/{0-9} вызвать функцию test() и её результат вывести вместо текста страницы, но сохранить шапку, футер и прочее оформление...
 
Наверное сумбурно объясняю... Давайте на простом примере...

Я хочу сделать раздел на сайте с обратной связью и возможностью посмотреть предыдущие письма и ответы на них. Такая примитивная тикет-система
Получаем структуру:

/test/ - страница отправки запроса
/test/list/ - список запросов
/test/1/ - запрос номер 1
 
Я хочу сделать раздел на сайте с обратной связью и возможностью посмотреть предыдущие письма и ответы на них. Такая примитивная тикет-система

Тогда вам необходимо для этого использовать полноценный ticket-плагин - если обратная связь будет "заточена" под конкретного (зарегистрированного) пользователя, а если списки запросов и ответов могут смотреть все пользователи, тот тогда Q&A плагин.
 
@Panadina, без обид, но вы Wordpress'ники странные люди :D Вот примерно в таком же ключе написаны все мануалы... Типа вот как сделать админку, а дальше качайте готовые :D

Я ж говорю - я написать плагин хочу, а не взять готовый ))) Функционал я описал просто для понимая что у меня не получается сделать.
А так, я переписываю Bi-систему с самописного скрипта на Wordpress... Всякие отчёты, аналитика и т.д. - такого готового 100% нету.
 
Для админки всё легко - добавляешь меню, по открытию - вызываешь функцию. Всё... А в пользовательской - хоть ты тресни :(

Ничего сложного, просто нужно понять структуру движка и используя его АРI написать код, пример:

Код:
<?php
/*

   Plugin Name: Add Text To Footer

*/

// Хук события 'wp_footer', добавляем функцию 'mfp_Add_Text' к нему
add_action("wp_footer", "mfp_Add_Text");

// Определяем 'mfp_Add_Text'
function mfp_Add_Text()
{
echo "<p style='color: black; padding-left: 15%;'>После загрузки футера сайта добавляется мой текст!</p>";

}
?>
 
Уже близко к тому, что я хочу :)

Это добавляет текст после футора, а как его вывести вместо основного контента? Проверять URL и перехватывать функцию вывода постов?
Это очень на костыль похоже... Разве нету штатного механизма "Если URL такой-то - то это такой-то плагин, передаём управление той-то функции"?
 
Разве нету штатного механизма "Если URL такой-то - то это такой-то плагин, передаём управление той-то функции"?
Ключевое слово "механизм"...
Движок WP - это и есть механизм, который работает по определенным правилам. Возьмите любой плагин и посмотрите его структуру, обычно - это набор фильтров и хуков на различные события. Поскольку за вывод информации отвечают определенные типы шаблонов, то вам необходимо "копать" именно в этом направлении.
Пример: Для просмотра ссылки Войди или Зарегистрируйся
 
Не знаю видели вы эту ссылку:
Для просмотра ссылки Войди или Зарегистрируйся
тут example как раз с выводом контента на custom страницу и собственными функциями + re-write.
Очень похоже на то, что вы искали.
 
Назад
Сверху