Khi phát triển WordPress, việc truy xuất URL Chủ đề Hiện tại rất hữu ích, đặc biệt là để tải các URL tệp nằm trong thư mục Chủ đề Hiện tại. Chức năng bloginfo[] của WordPress có thể truy xuất URL mẫu hiện tại
Quản lý URL khi tên thư mục có thể thay đổi là một nhiệm vụ khó thực hiện
Để khắc phục sự cố này, nhà phát triển WordPress chuyên nghiệp phải sử dụng chức năng thay vì URL cố định
Ví dụ: nếu bạn sử dụng URL này khi muốn tải CSS
Bạn sẽ gặp sự cố tải mỗi khi bạn muốn thay đổi tên chủ đề của mình
Nhưng điều gì sẽ xảy ra nếu bạn có thể lấy phần này của URL trong một tham số
//website.com/wp-content/themes/theme-name/
Vì vậy, mỗi khi bạn thay đổi tên chủ đề hoặc sao chép mã sang một chủ đề khác, việc thay đổi URL sẽ không cần thiết
Sử dụng bloginfo['template_directory']
trong mã của bạn sẽ in Danh mục chủ đề hiện tại cho bạn
Ví dụ: sử dụng mã này khi bạn muốn tải tệp CSS nằm trong thư mục chủ đề hiện tại của mình
Truy xuất URI thư mục chủ đề hiện tại. Trả lại URL cho chủ đề gốc, không phải chủ đề con. Không chứa dấu gạch chéo ở cuối
Bạn cũng có thể sử dụng get_bloginfo['template_url'];
thay cho chức năng này
Nếu một chủ đề con được sử dụng và bạn muốn lấy URL của nó, hãy sử dụng get_stylesheet_directory_uri[]
Nếu bạn muốn lấy đường dẫn đến thư mục theme [thư mục] thì dùng get_template_directory[]
Nếu bạn muốn lấy URL tới plugin, hãy sử dụng plugin_dir_url[]
công dụng. get_theme_root_uri[], get_template[]
Được sử dụng bởi. get_parent_theme_file_uri[], get_theme_file_uri[]
1 lần — 0. 002132 giây [rất chậm]. 50000 lần — 3. 37 giây [nhanh]. PHP7. 1. 2, WP 4. 7. 3
Móc từ chức năng
template_directory_uri
Trở về
//website.com/wp-content/themes/theme-name/
0. URI tới thư mục mẫu của chủ đề đang hoạt độngCách sử dụng
get_template_directory_uri[];
ví dụ
0
Lấy URL đến chủ đề
echo get_template_directory_uri[]; // output: //example.com/wp-content/themes/theme_name
0
Bao gồm một kịch bản
add_action[ 'wp_enqueue_scripts', 'my_scripts_method' ]; function my_scripts_method[] { wp_enqueue_script[ 'custom_script', get_template_directory_uri[] . '/js/custom_script.js', ['jquery'] ]; }
0
Sử dụng hàm trong thẻ HTML
Để an toàn, kết quả của hàm phải được xóa bằng esc_url[] hoặc esc_attr[]
Việc dọn dẹp này phải được thực hiện cho tất cả các chức năng được sử dụng trong thuộc tính thẻ. Ví dụ: nếu việc dọn dẹp này không được thực hiện, mã của bạn sẽ không vượt qua kiểm tra khi đặt chủ đề/plugin vào kho lưu trữ chính thức. Một ví dụ về làm sạch
Sau vài tuần làm việc với chủ đề của bạn, tôi vẫn hoàn toàn tin rằng mình đã quyết định đúng khi mua GeneratePress
Nhưng bây giờ lần đầu tiên tôi gặp khó khăn với chủ đề con mà bạn đang cung cấp. Tôi đã cố gắng thêm một số Mã PHP vào hàm con. php và tôi đã cố tải một số css bổ sung của riêng mình với chức năng này
Khi bạn phát triển chủ đề, đôi khi bạn cần tham chiếu một tệp trong cùng thư mục của chủ đề hiện tại. Bạn có thể cần đưa một tệp vào mã của mình hoặc thêm biểu định kiểu vào trang web của mình. Có nhiều cách khác nhau để bạn có thể đưa tệp vào mã của mình, WordPress đi kèm với một số hằng số mà bạn có thể sử dụng trong quá trình phát triển của mình để nhận đường dẫn đến thư mục wp-content hoặc thư mục plugin
WP_CONTENT_DIR // no trailing slash, full paths only
WP_CONTENT_URL // full url
WP_PLUGIN_DIR // full path, no trailing slash
WP_PLUGIN_URL // full url, no trailing slash
Đây là những hằng số được mã hóa cứng, vì vậy nếu bạn muốn tham chiếu một chủ đề cụ thể, bạn sẽ cần mã hóa cứng tên chủ đề trong mã của mình
$twentyThirteenTheme = WP_CONTENT_DIR . '/themes/twentythirteen/';
$twentyThirteenThemeStylesheet = WP_CONTENT_URL . '/themes/twentythirteen/style.css';
Vấn đề bạn gặp phải với điều này là nếu tên chủ đề của bạn thay đổi thì nó sẽ phá vỡ mã của bạn. WordPress đi kèm với một số chức năng hữu ích mà bạn có thể sử dụng để lấy đường dẫn hoặc URL của chủ đề hiện tại
get_template_directory_uri[]
get_stylesheet_directory_uri[]
get_stylesheet_uri[]
get_theme_root_uri[]
get_theme_root[]
get_theme_roots[]
get_stylesheet_directory[]
get_template_directory[]
Hàm này sẽ trả về đường dẫn tệp đầy đủ đến thư mục chủ đề hiện tại, chẳng hạn như get_template_directory_uri[] nếu bạn đang sử dụng chủ đề con thì hàm này sẽ trả về đường dẫn đến thư mục chủ đề gốc