web-gelistirme-sc.com

Geçerli eklenti dizini WordPress'te nasıl edinilir?

Mevcut eklenti dizini gibi almak gerekir 

[wordpress_install_dir]/wp-content/plugins/plugin_name

(Eklentiden getcwd() çağrılırsa, kurulumun kökü [wordpress_install_dir] döndürür)

yardım için teşekkürler

34
bog

Kendi cevabınıza bakıp @Bog, sanırım istediğiniz;

$plugin_dir_path = dirname(__FILE__);
33
TheDeadMedic

Neden bu amaç için özel olarak tasarlanmış WordPress çekirdek fonksiyonunu kullanmıyorsunuz?

<?php plugin_dir_path( __FILE__ ); ?>

Codex belgelerine bakın here .

Sende var

<?php plugin_dir_url( __FILE__ ); ?>

aradığınız şey bir sunucu yolunun aksine bir URI ise.

Codex belgelerine bakın here .

IMO, çekirdekte bulunan en üst düzey yöntemi kullanmak her zaman en iyisidir ve budur. Kodunuzu daha gelecekteki kanıtı yapar.

66
Tom Auger

Bu aslında istediğiniz sonucu alacak:

<?php plugin_dir_url(__FILE__); ?>

http://codex.wordpress.org/Function_Reference/plugin_dir_url

14
brenjt

Eklenti dizini almak için Wordpress işlevini plugin_basename($file) kullanabilirsiniz. Bu yüzden kullanacağınız eklenti klasörünü ve dosya adını çıkarmak için aşağıdaki gibidir:

$plugin_directory = plugin_basename(__FILE__); 

Bunu URL ile veya eklenti dizininin sunucu yolu ile birleştirebilirsiniz. Bunun için eklenti dizin url'sini almak için WP_PLUGIN_URL sabitlerini veya sunucu yolunu almak için WP_PLUGIN_DIR sabitlerini kullanabilirsiniz. Ancak Mark Jaquith 'in aşağıdaki yorumda belirtildiği gibi, bu yalnızca eklentiler Wordpress eklenti dizininde bulunuyorsa çalışır.

Wordpress kodeksi ile ilgili daha fazla bilgi edinin.

8
stefanglase
$full_path = WP_PLUGIN_URL . '/'. str_replace( basename( __FILE__ ), "", plugin_basename(__FILE__) );
  • WP_PLUGIN_URL - eklenti dizininin url'si
  • WP_PLUGIN_DIR - plugins dizinine giden sunucu yolu 

Bu bağlantı yardımcı olabilir: http://codex.wordpress.org/Determining_Plugin_and_Content_Directories .

3
manish nautiyal

Bunu dene:

function PluginUrl() {

        //Try to use WP API if possible, introduced in WP 2.6
        if (function_exists('plugins_url')) return trailingslashit(plugins_url(basename(dirname(__FILE__))));

        //Try to find manually... can't work if wp-content was renamed or is redirected
        $path = dirname(__FILE__);
        $path = str_replace("\\","/",$path);
        $path = trailingslashit(get_bloginfo('wpurl')) . trailingslashit(substr($path,strpos($path,"wp-content/")));
        return $path;
    }

echo PluginUrl (); geçerli eklenti url'sini döndürür.

2
Pennywise83

Dizini almam gerektiğinde, sadece eklentiler için değil (plugin_dir_path), ama daha genel olanlardan biri, __DIR__ kullanabilirsiniz, size çağrılan dosyanın dizin yolunu verecektir. Artık functions.php veya başka bir dosyadan kullanabilirsiniz!

Açıklama:

Dosyanın dizini. Bir içerir içinde kullanılırsa, dahil dosya döndürülür. Bu eşittir dizinismi (__FILE__). Bu dizin adında bir eğik çizgi yok. Kök dizini olmadığı sürece.  1

WP 2.6.0'dan beri plugins_url() method kullanabilirsiniz.

1

Eğer bunun için bir dosya içinde mevcut dizin yolunu almak istiyorsanız, plugin_dir_path() işlevine sahip __FILE__ ve __DIR__ sihirli sabitlerini şöyle yapabilirsiniz:

$dir_path = plugin_dir_path( __FILE__ );

Geçerli Dizin Yolu:  

/home/user/var/www/wordpress_site/wp-content/plugins/custom-plugin/

__FILE__ sihirli sabiti geçerli dizin yolunu döndürür.

Geçerli dizinden bir seviye yukarı çıkmak istiyorsanız. __DIR__ magic sabitini aşağıdaki gibi kullanmalısınız:

Şuanki yol:  

/home/user/var/www/wordpress_site/wp-content/plugins/custom-plugin/

$dir = plugin_dir_path( __DIR__ );

Bir seviye yukarı yol:  

 /home/user/var/www/wordpress_site/wp-content/plugins/

__DIR__ magic sabiti, bir seviye yukarı dizin yolu döndürür.

0
Gufran Hasan