WordPress — Как использовать шорткод плагина в PHP-файле другого плагина

Я пытаюсь реализовать функцию бронирования в моей сети с помощью двух плагинов WordPress.

Два плагина — плагин бронирования и плагин оплаты, соответственно.

Плагин бронирования имеет несколько шагов для бронирования, например, выбор сервиса, выбор даты, времени и т. Д.

Я хочу вставить кнопку оплаты, предоставляемую плагином оплаты, на шаге оплаты плагина бронирования.

Я записал код ниже в php-файле (для этапа оплаты) плагина бронирования,

    <?php

if ( shortcode_exists( 'payment_button' ) ) {

echo nl2br("Payment plugin shortcode exists!\n");
echo do_shortcode( '[payment_button]' );

}
else {
echo nl2br("No payment plugin shortcode exists!\n");
}

?>

С помощью приведенного выше кода «Шорткод платежного плагина существует!» распечатан, но я не могу получить кнопку оплаты плагина оплаты в моей сети.

Сработал встроенный в WordPress шорткод вроде , что я и сделал в качестве теста.

<?php echo do_shortcode( '[galley]' ); ?>

Что я должен проверить насчет двух плагинов или чего-то еще?

Порядок загрузки двух плагинов?

Записывает ли порядок скриптов, используемых в двух плагинах?

Я попытался загрузить плагин бронирования позже, чем плагин оплаты, добавив указанный ниже код в основной php файл плагина бронирования, но это не сработало.
(ссылка: https://gist.github.com/bappi-d-great/26808240df88dd1fc3fe)

    <?php
/*
*
* Use the code at the beginning of a plugin that you want to be laoded at last
*
*/
function this_plugin_last() {
$wp_path_to_this_file = preg_replace('/(.*)plugins\/(.*)$/',
WP_PLUGIN_DIR."/$2", __FILE__);
$this_plugin = plugin_basename(trim($wp_path_to_this_file));
$active_plugins = get_option('active_plugins');
$this_plugin_key = array_search($this_plugin, $active_plugins);
array_splice($active_plugins, $this_plugin_key, 1);
array_push($active_plugins, $this_plugin);
update_option('active_plugins', $active_plugins);
}
add_action("activated_plugin", "this_plugin_last");

Небольшой совет о моей проблеме был бы полезен для меня.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]