Вызов функции из functions.php на пользовательской странице/записи блога

2 июл. 2019 г., 11:26:19
Просмотры: 25.3K
Голосов: 4

Возможно ли вызвать функцию из functions.php на пользовательской странице или в записи блога?

Я добавила простую функцию в functions.php:

function testTest()
{
echo "Тест";
}

И вызвала её на странице:

<?php testTest();?>

Но это не работает. Нужно ли создавать плагин для использования такой простой функции внутри одной выбранной пользовательской страницы?

Спасибо за ответ, Мария

0
Все ответы на вопрос 2
1

Вы можете использовать add_shortcode, если хотите применять его внутри редактора.

function footag_func() {
    return "Test";
}
add_shortcode( 'footag', 'footag_func' );

Затем используйте [footag] в вашем редакторе.

Или

Используйте такой код в functions.php и добавьте условный тег

add_action( 'loop_start', 'your_function' );
function your_function() {
if ( is_singular('post') ) {
    echo 'Test';
    }
}

или

Создайте функцию в functions.php

function your_function() {
return 'Test';

}

Затем используйте это в вашем шаблоне

echo your_function();
2 июл. 2019 г. 11:44:25
Комментарии

Спасибо большое! Я проверю все версии. Я проголосовал за ваш ответ, но, к сожалению, мой голос не отображается, так как я новый пользователь. Еще раз спасибо!

Mary Mary
2 июл. 2019 г. 12:08:39
4

Вы можете быстро создать шорткод для этого.

add_shortcode( 'test_shortcode', 'my_test_callback' );

Затем в функции обратного вызова делаете следующее:

function my_test_callback() {
    // начинаем добавлять выводимый контент в буфер вывода
    ob_start();

    // выполняем ваш код здесь — в данном случае функцию testTest()
    testTest();

    // возвращаем содержимое буфера вывода
    // ПРИМЕЧАНИЕ: прямое использование echo приведёт к неожиданным результатам
    return ob_get_clean();
}

Затем на страницах контента просто добавьте [test_shortcode], и он выполнит вашу PHP-функцию.

Для лучшего понимания шорткодов вот несколько полезных ссылок:

Официальный API шорткодов

Удобный инструмент для создания шорткодов

Моя статья о создании шорткодов

2 июл. 2019 г. 11:45:21
Комментарии

Спасибо большое! Я проверю это. Я поставил плюс, но, к сожалению, это не отображается, потому что я новый пользователь.

Mary Mary
2 июл. 2019 г. 12:09:15

Не переживай. Надеюсь, это помогло :)

Cornel Raiu Cornel Raiu
2 июл. 2019 г. 12:10:30

Привет @CornelRaiu - Есть ли способ создать обычную ссылку на фронтенде, которая при клике будет выполнять функцию "test_shortcode" или "my_test_callback()"?

Ramin Arabbagheri Ramin Arabbagheri
20 мая 2020 г. 14:12:52

@RaminArabbagheri вам следует использовать AJAX для этого. Создайте обработчик события click на кнопке, который будет запускать AJAX-действие, а затем выводить ответ

Cornel Raiu Cornel Raiu
20 мая 2020 г. 23:48:01