現在のテーマへのパスを取得するにはどうすればよいですか?
2 回答
- 投票
-
- 2012-04-05
何をしようとしているかにもよるので、少し注意が必要だと思います.
子テーマを使用している場合、
get_template_directory();
は引き続き親テーマに移動します.ただし、get_stylesheet_directory();
は、現在のテーマ、子、または親に移動します.また、これらの関数は両方とも絶対サーバーパスを返します.リンクまたは画像に完全な形式のURIが必要な場合は、
get_template_directory_uri();
またはget_stylesheet_directory_uri();
を使用して、上記の理由で正しいURIを使用する必要があります. .概要
-
get_stylesheet_directory()
:現在のテーマディレクトリへのファイルパス -
get_stylesheet_directory_uri()
:現在のテーマディレクトリへのURLパス -
get_template_directory()
:親テーマディレクトリへのファイルパス -
get_template_directory_uri()
:親テーマディレクトリへのURLパス
I think you have to be a little careful because it depends on what you are trying to do.
If you are using a child theme
get_template_directory();
will still go to the parent theme. Howeverget_stylesheet_directory();
will go to the current theme, child or parent. Also, both these functions return absolute server paths.If you wanted a fully formed URI, for links or images, you should use
get_template_directory_uri();
orget_stylesheet_directory_uri();
using the correct one for the reasons stated.Summary
get_stylesheet_directory()
: file path to current Theme directoryget_stylesheet_directory_uri()
: url path to current Theme directoryget_template_directory()
: file path to parent Theme directoryget_template_directory_uri()
: url path to parent Theme directory
-
+1.*常に* `stylesheet`ファイルパス/urlを使用して*現在の*テーマを参照し、`template`ファイルパス/urlを予約して*親*テーマを参照します.+1. *Always* use `stylesheet` filepath/url to reference the *current* Theme, and reserve `template` filepath/url to reference the *parent* Theme.
- 3
- 2012-04-05
- Chip Bennett
-
残念ながら、get_template_directory()は `/var/www/the/path/of/actual/wp-content/themes/mytheme`のようなサーバーパス全体を返します.これは、WPがFTP経由で接続している場合、$ wp_filesystemで何かを行うために必要なことではありません..Unfortunately get_template_directory() returns the entire server path like `/var/www/the/path/of/actual/wp-content/themes/mytheme` which is not what you want for doing stuff with $wp_filesystem if WP is connecting through FTP.
- 0
- 2014-09-11
- NoBugs
-
@ NoBugs-サーバーパス全体も取得していましたが、get_stylesheet_directory()の代わりにget_stylesheet_directory_uri()を使用すると問題が解決しました.@NoBugs - I was getting the entire server path as well but using get_stylesheet_directory_uri() instead of get_stylesheet_directory() solved the issue.
- 0
- 2015-02-04
- TheLibzter
-
ありがとうございました!私が見つけたほとんどの答えは、get_stylesheet_directory()を使用して途中で私を取得しましたが、その後、サーバーのルートディレクトリに残されました.get_stylesheet_directory_uri()は私の祈りへの答えでした!Thank you! most answers i found got me part of the way there with using get_stylesheet_directory() but then I was left in the root directory of my server. get_stylesheet_directory_uri() was the answer to my prayers!
- 0
- 2020-08-07
- sigmapi13
-
- 2012-04-05
get_stylesheet_directory_uri
が必要です.現在のテーマのURLを返します.get_stylesheet_directory
は、サーバー上のファイルパスを返します.例:
<img src="<?php echo get_stylesheet_directory_uri(); ?>/assets/image.png" />
親テーマが必要な場合は、
get_template_directory
とget_template_directory_uri
が同等です.親テーマがない場合、両方が同じ値を返します.
参考資料:
-
get_stylesheet_directory
- 現在のテーマの絶対フォルダパス
- 例:
/var/www/yoursite/wp-content/themes/child_theme
-
get_template_directory
- 親テーマの絶対フォルダパス
- 例:
/var/www/yoursite/wp-content/themes/parent_theme
-
get_stylesheet_directory_uri
- 現在のテーマの完全なURL
- 例:
https://example.com/wp-content/themes/child_theme
-
get_template_directory_uri
- 親テーマの完全なURL
- 例:
https://example.com/wp-content/themes/parent_theme
get_stylesheet_directory_uri
is what you want. it returns the URL of the current theme.get_stylesheet_directory
will return the file path on the server.For example:
<img src="<?php echo get_stylesheet_directory_uri(); ?>/assets/image.png" />
If you need the parent theme,
get_template_directory
andget_template_directory_uri
are the equivalents.If there is no parent theme then both will return the same value.
Further reading:
get_stylesheet_directory
- absolute folder path of current theme
- e.g.
/var/www/yoursite/wp-content/themes/child_theme
get_template_directory
- absolute folder path of parent theme
- e.g.
/var/www/yoursite/wp-content/themes/parent_theme
get_stylesheet_directory_uri
- full URL of current theme
- e.g.
https://example.com/wp-content/themes/child_theme
get_template_directory_uri
- full URL of parent theme
- e.g.
https://example.com/wp-content/themes/parent_theme
-
`get_stylesheet_directory()`が正解です.子テーマが使用されている場合、 `get_template_directory()`は親テーマを指します.`get_stylesheet_directory()` is the correct answer. `get_template_directory()` will point to the parent theme if a child theme is being used.
- 0
- 2020-07-11
- Lucas Bustamante
-
それに応じて答えを調整しましたI adjusted the answer accordingly
- 0
- 2020-08-25
- Tom J Nowell
このコードは、現在のプラグインのディレクトリを取得するために使用されます:
plugin_dir_url( __FILE__ )
.現在のテーマのディレクトリを取得するには何を使用すればよいですか?