J'ai besoin d'inclure un plugin dans mon thème WordPress sans l'activation du plugin. J'ai ces lignes:
include_once dirname( __FILE__ ) . '/math/class-constrained-array-rounding.php';
include( plugin_dir_path( __FILE__ ) . 'class.jetpack-user-agent.php');
et
wp_enqueue_script( 'tiled-gallery', plugins_url( 'tiled-gallery/tiled-gallery.js', __FILE__ ), array( 'jquery' ) );
wp_enqueue_style( 'tiled-gallery', plugins_url( 'tiled-gallery/tiled-gallery.css', __FILE__ ), array(), '2012-09-21' );
Je pense que je dois utiliser la fonction get_template_directory_uri()
au lieu de plugin_dir_path
pour inclure ces fichiers, mais je suis confus.
Je suis nouveau dans WordPress. Quelqu'un peut-il suggérer une solution à ce problème? :)
WP_PLUGIN_DIR.'/pluginName/'
vous donnera le chemin absolu vers le répertoire du plugin.
EDIT Après le commentaire
Les plugins sont des plugins, les fichiers de thème sont des fichiers de thème. Ne confondons pas les deux. Vous ne pouvez pas copier un plugin dans le répertoire du thème - parce que ça ne marche pas comme ça.
Après une édition minutieuse, vous pouvez inclure le plugin dans les options de vos thèmes.
Je veux inclure le plugin hello dolly dans mon thème. Je copie donc hello.php dans mon répertoire themes comme suit: themes/mytheme/include/plugins/hello.php
.
Pour charger ce fichier ("plugin" - mais ce n'est plus vraiment un plugin), j'ai besoin de require_once
le fichier hello.php
comme suit:
define('mytheme_inc_path', TEMPLATEPATH . '/includes/');
define('mytheme_inc_url', get_template_directory_uri(). '/includes/');
require_once mytheme_inc_path. 'plugins/hello.php';
une. Si j'ai un "plugin" plus complexe, le code sera comme ceci:
require_once mytheme_inc_path. 'plugins/myplugin/myplugin.php';
// because the plugin deserves its own directory
Dans le myplugin.php
, vous placerez les scripts et les styles requis de la manière suivante:
function mytheme_plugin_scripts() {
wp_enqueue_script('tiled-gallery',
mytheme_inc_url . 'tiled-gallery/tiled-gallery.js',
array('jquery')
);
wp_enqueue_style('tiled-gallery',
mytheme_inc_url . 'tiled-gallery/tiled-gallery.css',
array(), '2012-09-21');
}
add_action('wp_enqueue_scripts', 'mytheme_plugin_scripts');
hooks
indésirable (filtre, activation/désactivation ou autre).actions
, sauf celles dont vous avez réellement besoin.Si vous avez fait des recherches dans les procédures de mise en file d'attente de script/style, vous saurez que les plugins (qui sont stockés dans wp-content/plugins
ou wp-content/mu-plugins
utilisent des fonctions légèrement différentes pour récupérer le chemin absolu/relatif et l'URI. Comme ceci: