Get_home_path WordPress
Nhiều nhà phát triển WordPress thường nhầm lẫn giữa get_home_path() và ABSPATH. Cũng như vậy, Họ nhầm lẫn giữa get_home_url() và get_site_url(). Cả hai mã đều cho cùng một kết quả khi cài đặt WordPress bình thường. Nhưng cả hai mã đều cho kết quả khác nhau trong một trang cài đặt WordPress đặc biệt nơi các tệp cốt lõi của WordPress nằm ở một nơi khác với thư mục gốc của trang web Ở đây, tôi sẽ giải thích sự khác biệt giữa get_home_path() và ABSPATH bằng cách lấy một ví dụ. Để hiểu nó, tôi đã tạo một trang web WordPress demo trong đó tôi đã tạo một thư mục con mã WordPress khác trong thư mục con /wordpress. Để hiểu cách di chuyển mã WordPress sang một thư mục con khác, bạn nên làm theo các bước được mô tả trong. Tôi đã cung cấp một thư mục con WordPress khác cho trang web WordPress của mình. Tôi đã sử dụng Phương pháp 2 được mô tả trong liên kết đã cho Tôi đã thêm mã bên dưới vào wp-content/mu-plugins/test. tập tin php
Đầu ra của kịch bản như dưới đây
1 cung cấp URL chứa mã WordPressỞ đây, từ Home đề cập đến trang chủ của trang web. Trang chủ là thư mục gốc của trang web. Trong khi trang web và ABSPATH đề cập đến thư mục con WordPress nơi tồn tại mã lõi WordPress NguồnTập tin. wp-admin/bao gồm/tệp. php function get_home_path() { $home = set_url_scheme( get_option( 'home' ), 'http' ); $siteurl = set_url_scheme( get_option( 'siteurl' ), 'http' ); if ( ! empty( $home ) && 0 !== strcasecmp( $home, $siteurl ) ) { $wp_path_rel_to_home = str_ireplace( $home, '', $siteurl ); /* $siteurl - $home */ $pos = strripos( str_replace( '\\', '/', $_SERVER['SCRIPT_FILENAME'] ), trailingslashit( $wp_path_rel_to_home ) ); $home_path = substr( $_SERVER['SCRIPT_FILENAME'], 0, $pos ); $home_path = trailingslashit( $home_path ); } else { $home_path = ABSPATH; } return str_replace( '\\', '/', $home_path ); } Nó không có sẵn trên trang chủ, nó chỉ có sẵn từ wp-admin (phụ trợ). Bạn nên kiểm tra xem is_admin() nếu không bạn sẽ gặp “Lỗi nghiêm trọng. Lỗi chưa xử lý. Gọi hàm không xác định get_home_path()“ // make sure that get_home_path() is defined require_once ABSPATH . 'wp-admin/includes/file.php'; echo get_home_path(); echo ABSPATH; echo $_SERVER['SCRIPT_FILENAME']; echo $_SERVER['DOCUMENT_ROOT']; /* / path/sites/site.com/www/wp/ path/sites/site.com/www/index.php path/sites/site.com/www */ Ở phía trước, chức năng không hoạt động chính xác vì nó phụ thuộc vào sự khác biệt giữa các tùy chọn 2 và 3. Trong trường hợp này, nó là (chuỗi) 4. Sau đó, từ echo get_home_path(); echo ABSPATH; echo $_SERVER['SCRIPT_FILENAME']; echo $_SERVER['DOCUMENT_ROOT']; /* path/sites/site.com/www/ path/sites/site.com/www/wp/ path/sites/site.com/www/wp/wp-admin/options-permalink.php path/sites/site.com/www */0, mọi thứ từ đầu đến vị trí này đều bị cắt bỏ - đây là kết quả được hàm trả về với dấu gạch chéo được thêm vào cuối. Và vì ở phía trước echo get_home_path(); echo ABSPATH; echo $_SERVER['SCRIPT_FILENAME']; echo $_SERVER['DOCUMENT_ROOT']; /* path/sites/site.com/www/ path/sites/site.com/www/wp/ path/sites/site.com/www/wp/wp-admin/options-permalink.php path/sites/site.com/www */0 hoàn toàn không chứa chuỗi con 4, nên đường dẫn trống - không thể xác định đượcNó trông giống như một lỗi 0 Nhận đường dẫn đến thư mục chính của trang webThư mục này thường chứa tệp echo get_home_path(); echo ABSPATH; echo $_SERVER['SCRIPT_FILENAME']; echo $_SERVER['DOCUMENT_ROOT']; /* path/sites/site.com/www/ path/sites/site.com/www/wp/ path/sites/site.com/www/wp/wp-admin/options-permalink.php path/sites/site.com/www */3 và echo get_home_path(); echo ABSPATH; echo $_SERVER['SCRIPT_FILENAME']; echo $_SERVER['DOCUMENT_ROOT']; /* path/sites/site.com/www/ path/sites/site.com/www/wp/ path/sites/site.com/www/wp/wp-admin/options-permalink.php path/sites/site.com/www */4. Giả sử chúng ta cần thay đổi tệp echo get_home_path(); echo ABSPATH; echo $_SERVER['SCRIPT_FILENAME']; echo $_SERVER['DOCUMENT_ROOT']; /* path/sites/site.com/www/ path/sites/site.com/www/wp/ path/sites/site.com/www/wp/wp-admin/options-permalink.php path/sites/site.com/www */4 Đường dẫn tuyệt đối trong WordPress là gì?Đường dẫn tuyệt đối chứa tất cả các thành phần và danh sách đầy đủ các thư mục để tìm một thư mục hoặc tệp cụ thể và bắt đầu bằng URL tên miền . Một đường dẫn tuyệt đối có thể là một phiên bản đầy đủ hoặc ngắn. Phiên bản ngắn bắt đầu bằng dấu gạch chéo lên phía trước và một phần của URL đầy đủ nhưng không có tên miền.
Thư mục gốc trong WordPress là gì?Bản cài đặt WordPress nằm trong thư mục gốc, thường là public_html hoặc public và mọi thứ khác nằm trong đó. Có 3 thư mục cốt lõi trong thư mục gốc của WordPress. wp-content, wp-gồm và wp-admin . |