programing

WordPress에서 현재 플러그인 디렉토리를 가져오려면 어떻게 해야 합니까?

powerit 2023. 3. 4. 15:14
반응형

WordPress에서 현재 플러그인 디렉토리를 가져오려면 어떻게 해야 합니까?

다음과 같은 현재 플러그인 디렉토리를 가져와야 합니다.

[wordpress_install_dir]/wp-content/plugins/plugin_name

(만약getcwd()플러그인에서 호출되어 반환됩니다.[wordpress_install_dir], 인스톨의 루트).

이러한 목적을 위해 특별히 설계된 WordPress 핵심 기능을 사용합니다.

<?php plugin_dir_path( __FILE__ ); ?>

여기에서 Codex 문서를 참조하십시오.

또,

<?php plugin_dir_url( __FILE__ ); ?>

서버 경로가 아닌 URI를 찾는 경우.

여기에서 Codex 문서를 참조하십시오.

IMO, 항상 코어에서 사용할 수 있는 최고 수준의 방법을 사용하는 것이 가장 좋습니다. 그리고 이게 끝입니다.코드를 미래에 대비할 수 있습니다.

OP의 답변을 보면 OP가 원하는 것 같습니다.

$plugin_dir_path = dirname(__FILE__);

이렇게 하면 실제로 원하는 결과를 얻을 수 있습니다.

<?php plugin_dir_url(__FILE__); ?>

plugin_subl_url(문자열 $file)

플러그인 디렉토리를 가져오려면 WordPress 함수를 사용할 수 있습니다.plugin_basename($file)따라서 다음과 같이 플러그인의 폴더와 파일 이름을 추출할 수 있습니다.

$plugin_directory = plugin_basename(__FILE__);

이 값을 플러그인 디렉토리의 URL 또는 서버 경로와 결합할 수 있습니다.따라서 상수를 사용할 수 있습니다.WP_PLUGIN_URL플러그인 디렉토리 URL을 가져오거나WP_PLUGIN_DIR서버 경로를 가져옵니다.그러나 Mark Jaquith가 아래의 코멘트에서 언급했듯이 이것은 플러그인이 WordPress 플러그인 디렉토리에 있는 경우에만 작동합니다.

자세한 내용은 WordPress 코덱스를 참조하십시오.

$full_path = WP_PLUGIN_URL . '/'. str_replace( basename( __FILE__ ), "", plugin_basename(__FILE__) );
  • WP_PLUGIN_URL: 플러그인 디렉토리의 URL
  • WP_PLUGIN_DIR – 플러그인 디렉토리에 대한 서버 경로

페이지는 플러그인 및 콘텐츠 디렉터리 확인에 도움이 될 수 있습니다.

이것을 시험해 보세요.

function PluginUrl() {

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

    // Try to find it 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();현재 플러그인 URL이 반환됩니다.

WordPress 2.6.0이므로 이 방법을 사용할 수 있습니다.

플러그인(plugin_dir_path)뿐만 아니라 보다 일반적인 디렉토리도 가져와야 할 경우__DIR__가 호출되는 파일의 디렉토리의 패스가 표시됩니다.기능에서 사용할 수 있게 되었습니다.php 또는 다른 파일!

설명:

파일의 디렉토리.include 내에서 사용되는 경우 포함된 파일의 디렉토리가 반환됩니다.이것은 dirname에 해당합니다.__FILE__루트 디렉토리가 아닌 한 이 디렉토리 이름에는 후행 슬래시가 없습니다.[1] 1

파일 내에서 현재 디렉토리 경로를 가져오려면 매직 상수를 사용할 수 있습니다.__FILE__그리고.__DIR__와 함께plugin_dir_path()다음과 같이 기능:

$dir_path = plugin_dir_path( __FILE__ );

현재 디렉토리 경로:

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

__FILE__경로를 합니다.

업 는, 「1」을 해 주세요.__DIR__직직: :

현재 경로:

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

$dir = plugin_dir_path( __DIR__ );

1레벨 업 패스:

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

__DIR__ 반환합니다.

플러그인의 메인 PHP 파일 내에서 이것은 admin에서만 작동합니다.

$plugin_data = get_plugin_data( __FILE__ );
$plugin_name = $plugin_data['Name'];

합니다.__DIR__PHP의 PHP】__DIR__는, 디렉토리를 취득하기 합니다.다른 곳에서 상수 또는 함수를 호출하면 플러그인 디렉토리 경로가 반환됩니다.현재 플러그인 디렉토리 경로를 유지하는 상수의 다음 예를 참조하십시오.

define( 'YOURPLUGIN_PATH', __DIR__ );

언급URL : https://stackoverflow.com/questions/3128873/how-can-i-get-the-current-plugin-directory-in-wordpress

반응형