如何在另一个插件php文件

时间:2018-01-27 04:53:20

标签: php wordpress shortcode wordpress-shortcode

我尝试使用两个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");
  }

 ?>

使用上面的代码,&#34;支付插件短代码存在!&#34;已打印出来,但我无法在网络上获得付款插件的付款按钮。

像[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");

关于我的问题的一些建议对我有帮助。

1 个答案:

答案 0 :(得分:0)

我在您的代码中更改了几行,就可以了

       <?php

    if ( shortcode_exists( 'community-events-7day' ) ) {

    echo ("Plugin shortcode exists!\n");
    echo do_shortcode( '[community-events-7day]' );

   } 
    else {
     echo ("No Plugin shortcode exists!\n");
 }

?>
   </div>```