2016-04-30 7 views
0

私はWordpressのプラグインを作成してテーマに組み込み、直接アクセスできるようにしています。私はクラスがロードされていないが、プラグインが必要とするCSSまたはjsのプラグインパスを再定義するのに問題がある場合、プラグインをどのようにインクルードするかを掘り下げて考えました。関数内でプラグインURLとディレクトリパスを再定義して正しいディレクトリを指し、プラグインのデフォルトを上書きする方法はありますか?プラグインに直接アクセスするときのプラグインディレクトリパスを再定義しますか?

答えて

0

これを試してみて、終了部分を希望どおりに変更してください。私は、フィルタを作成することによって、これを理解することができたリダイレクトか何か

if (! defined('ABSPATH')) { 
    exit; 
} 
+0

悲しいことに、うまくいきませんでした。例としてヴィラショートケーキプラグインを使用しようとしています。理想的には、私はテーマに組み込むことができる、またはプラグインとして使用できるようにしたいと思います。これまで私はプラグインをロードしていますが、CSSとjsのパスは壊れています: 'add_action( 'after_setup_theme'、 'my_load_plugin'); 関数my_load_plugin(){ \t場合(でclass_exists( 'ZillaShortcodes')!){\t \t \tのinclude_once(TEMPLATEPATH '/zilla-shortcodes/zilla-shortcodes.php'); \t \t \t \t \t}} ' –

+0

ジーラのショートコード、私はより良い外観を持つことができますので、あなたのサンプルコードを貼り付けることができれば愚かな自動正しい –

+0

を参照してください? –

0

define('THEME_MODE', apply_filters('theme_mode', false)); 

その後のif /他の関数の作成:

if (false == THEME_MODE) { 
     define('PLUGIN_URI', plugin_dir_url(__FILE__)); 
     define('PLUGIN_DIR', plugin_dir_url(__FILE__)); 
    } else { 
    if (true == THEME_MODE) { 
      $path = ltrim(end(@explode(get_stylesheet(), str_replace('\\', '/', dirname(__FILE__)))), '/'); 
      define('PLUGIN_URI', trailingslashit(trailingslashit(get_bloginfo('template_directory')). $path)); 
      define('PLUGIN_DIR', trailingslashit(trailingslashit(get_bloginfo('template_directory')) . $path)); 
    } 
    } 

をそれから私は、関数を呼び出しましたfunctions.php

add_action('after_setup_theme', 'load_shortcodes'); 
add_filter('theme_mode', '__return_true'); 
function load_shortcodes() { 
if(! class_exists('Shortcodes')) {  
    // load if not already loaded 
    include_once(TEMPLATEPATH. '/shortcodes/aa-shortcodes.php');  
    } 
} 
関連する問題