4ответ(ов) в теме
Lenin-Kerrigan
не в сети 9 лет
На сайте с 01.11.2015
Участник
1
03:02

Доброго времени суток.
Есть такая задача:
Создать вкладку в личном кабинете пользователя, на которой будет задействован WP Query The Loop, который будет выводить посты произвольного типа с кнопкой редактировать, при нажатие на которую, будет происходить переадресация на страницу front end редактора постов произвольного типа, и туда же передаваться id редактируемой записи.

Для решения этой задачи был создан микро плагин, который создаёт новый recall_tab для личного кабинета, всё как написано вот здесь:

Вы не можете просматривать опубликованные ссылки

Плагин активизировался, вкладка создалась.

Вот только, ни как не получается запихнуть в функцию
function custom_recall_block($user_lk){
return 'Контент';
}

требуемый код.

Нужный код, который используется для создания выше описанного WP Query The Loop, уже есть, и он стабильно работает на отдельной странице, а при попытке тем или иным образом, запихнуть его в эту функцию, всегда получается ошибка сервера 500. Например запихнув его в переменную $data и давая команду внутри функции return $data; Пробовались и другие способы.

С помощью AJAX проблему скорее всего не решить, так как WP Query выводит посты по get_currect_user_id, и соответственно при аякс запросе пользователь не зайдёт на страницу, его id не будет получен и функция не отработает, а AJAX запрос просто ничего не вернёт.

Подскажите, реально ли такой код (если надо скину его в комментарии), запихнуть внутрь функции. И если это реально, то как это лучше сделать.

0
Андрей CS
не в сети 3 часа
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16929
2
11:06

любой код можно использовать для вывода во вкладке ЛК. Если после размещения кода получается ошибка и код сам по себе верный, значит ошибку допускаете вы.
Причем тут get_currect_user_id? есть $user_ID, его и используйте.
И что это за WP Query The Loop, плагин такой? зачем это использовать, если для вывода постов есть функция get_posts().

0
Lenin-Kerrigan
не в сети 9 лет
На сайте с 01.11.2015
Участник
3
12:04

любой код можно использовать для вывода во вкладке ЛК. Если после размещения кода получается ошибка и код сам по себе верный, значит ошибку допускаете вы.

Решили вопрос с помощью функции ob_start(); & $result=ob_get_clean(); запихнув весь необходимый код в эти функции а потом прописав return $result;
Без этого финта ушами достаточно тяжело запихнуть исполняемый на странице код + шаблон вывода в вашу функцию содержимого блока.

И что это за WP Query The Loop, плагин такой? зачем это использовать, если для вывода постов есть функция get_posts().

Это не плагин а базовая функция WP

Вы не можете просматривать опубликованные ссылки

через которую в частности работает get_posts()

0
Андрей CS
не в сети 3 часа
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16929
4
12:09

Lenin-Kerrigan сказал(а)
Без этого финта ушами достаточно тяжело запихнуть исполняемый на странице код + шаблон вывода в вашу функцию содержимого блока.

Но это не вызвало бы 500 ошибку, просто контент вывелся бы за пределами вкладки.
Хотя мне не понятно, зачем использовать внутри функции исполняемый код. Для подключения шаблона есть специальные функции.

Lenin-Kerrigan сказал(а)
Это не плагин а базовая функция WP

только это не функция, а класс. Называйте в след. раз не "WP Query The Loop", а WP_Query тогда вас все будут понимать

0
Тема закрыта. Публикация новых сообщений запрещена.