Я пытаюсь реализовать функцию бронирования в моей сети с помощью двух плагинов 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");
Небольшой совет о моей проблеме был бы полезен для меня.
Задача ещё не решена.
Других решений пока нет …