我正在尝试使用两个 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");
}
?>
使用上面的代码,“支付插件短代码存在!” 已打印出来,但我无法在我的网站上获得付款插件的付款按钮。
像 [gallery] 这样的 Wordpress 内置短代码已经奏效,这是我作为测试所做的。
<?php echo do_shortcode( '[galley]' ); ?>
我应该检查两个插件或其他什么?
两个插件的加载顺序?
Enquescripts 两个插件中使用的脚本顺序?
我尝试在付款插件之后加载预订插件,并将以下代码添加到预订插件的主 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");
关于我的问题的一点建议会对我有所帮助。