5
Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.
Có cách nào để có được đường dẫn đến nơi WordPress được cài đặt không?
Tôi đã sử dụng như sau:
$root = realpath[$_SERVER["DOCUMENT_ROOT"]];
Nó là tốt cho www.example.com ->/usr/local/pem/vhosts/165312/webspace/httpdocs
Nó không tốt cho www.example.com/blog vì tôi cần mã cứng tên thư mục [blog].
Sau đó tôi tìm thấy một cách bằng cách sử dụng điều này:
$iroot = getcwd[];
$folder = explode["/", $iroot];
$dir = $folder[8]; // I know is 8
$root = realpath[$_SERVER["DOCUMENT_ROOT"]];
require "$root/$dir/wp-blog-header.php";
Nhưng nó vẫn là rất nhiều thứ phức tạp. Có cách nào đơn giản để có được nơi cài đặt WordPress [đường dẫn] mà không cần mã hóa cứng không?
Lưu ý: 1 chức năng WordPress sẽ không hoạt động vì đây là bằng cách nào đó bên ngoài WordPress. Như đã lưu ý trên ví dụ cuối cùng, toàn bộ điểm xác định đường dẫn cài đặt WordPress là
7 trên nhiều cài đặt WordPress trong đó mỗi cài đặt sử dụng một thư mục khác nhau [example.com/blog-one và example.com MU hoặc nhiều trang web. WordPress functions will not work since this is somehow outside WordPress. As noted on the last example, the whole point of determine the WordPress installation path is to $iroot = getcwd[];
$folder = explode["/", $iroot];
$dir = $folder[8]; // I know is 8
$root = realpath[$_SERVER["DOCUMENT_ROOT"]];
require "$root/$dir/wp-blog-header.php";
$iroot = getcwd[];
$folder = explode["/", $iroot];
$dir = $folder[8]; // I know is 8
$root = realpath[$_SERVER["DOCUMENT_ROOT"]];
require "$root/$dir/wp-blog-header.php";
7 on multiple WordPress
installations where each installation uses a different folder [example.com/blog-one and example.com/blog-two], not WordPress MU or multi site.Lưu ý: 2 Nếu thay vì
8, tôi sử dụng $iroot = getcwd[];
$folder = explode["/", $iroot];
$dir = $folder[8]; // I know is 8
$root = realpath[$_SERVER["DOCUMENT_ROOT"]];
require "$root/$dir/wp-blog-header.php";
7, nó sẽ hoạt động miễn là tệp nằm trong cùng một thư mục, nhưng trong trường hợp của tôi, tệp sẽ đôi khi có trong một thư mục khác. If instead of $iroot = getcwd[];
$folder = explode["/", $iroot];
$dir = $folder[8]; // I know is 8
$root = realpath[$_SERVER["DOCUMENT_ROOT"]];
require "$root/$dir/wp-blog-header.php";
$iroot = getcwd[];
$folder = explode["/", $iroot];
$dir = $folder[8]; // I know is 8
$root = realpath[$_SERVER["DOCUMENT_ROOT"]];
require "$root/$dir/wp-blog-header.php";
8 I use $iroot = getcwd[];
$folder = explode["/", $iroot];
$dir = $folder[8]; // I know is 8
$root = realpath[$_SERVER["DOCUMENT_ROOT"]];
require "$root/$dir/wp-blog-header.php";
7 it will work as long as the file is in the same folder, but in my case the file will be sometimes in a different folder.
Đã hỏi ngày 8 tháng 6 năm 2012 lúc 1:56Jun 8, 2012 at 1:56
2
Sử dụng hằng số abspath:
Điều này sẽ in đường dẫn WordPress của bạn.
Đã trả lời ngày 8 tháng 6 năm 2012 lúc 22:17Jun 8, 2012 at 22:17
0
Đây là những gì tôi đang làm:
Setup::
$docRoot = $_SERVER['DOCUMENT_ROOT'];
$scriptName = $_SERVER['SCRIPT_NAME'];
$queryArray = explode["/", $scriptName];
$queryLength = count[$queryArray];
Usage::
require_once[$docRoot . [$queryLength > 2 ? "/".$queryArray[$queryLength - 2] : "" ] . '/wp-blog-header.php'];
Điều này đang hoạt động rất tốt cho tôi tại thời điểm này để khởi tạo một môi trường WordPress bất kể kịch bản ở đâu. Chắc chắn cần phải vệ sinh trước khi sử dụng bất kỳ biến $ _Server nào [và tôi cần ba lần này bên ngoài môi trường localhost của mình], nhưng tôi không nghĩ rằng nó đòi hỏi phải sửa đổi nghiêm trọng để trở thành một giải pháp phổ quát thực tế.$_SERVER variables [and I need to triplecheck this outside my localhost environment], but I don't think it requires severe modifications to be a practical universal solution.
Đã trả lời ngày 9 tháng 8 năm 2012 lúc 20:39Aug 9, 2012 at 20:39
Akamaozuakamaozuakamaozu
6751 Huy hiệu vàng7 Huy hiệu bạc15 Huy hiệu đồng1 gold badge7 silver badges15 bronze badges
Đây là cách làm điều đó từ bên trong WordPress [đó không phải là những gì người hỏi đã yêu cầu, nhưng những gì tôi nghi ngờ nhiều người sẽ tìm kiếmfrom within WordPress [which isn't what the questioner was asking for, but what I suspect many people will be searching for…]
Có một chức năng chuyên dụng, get_home_path [], sẽ cung cấp cho bạn một cái gì đó như:
/srv/www/my-site/htdocs/
Các chức năng khác cho các thư mục tệp và nội dung [và đường dẫn web].
Đã trả lời ngày 3 tháng 12 năm 2014 lúc 21:14Dec 3, 2014 at 21:14
William Turrellwilliam TurrellWilliam Turrell
3.1277 Huy hiệu vàng37 Huy hiệu bạc54 Huy hiệu đồng7 gold badges37 silver badges54 bronze badges
Ví dụ gốc:
- /usr/local/pem/vhosts/165312/webspace/httpdocs/blog-one
- /usr/local/pem/vhosts/165312/webspace/httpdocs/blog-two
- /usr/local/pem/vhosts/165312/webspace/httpdocs/some-blog
Ví dụ dưới đây sẽ hoạt động trên bất kỳ blog nào ["Blog-One", "Blog-Two" và "Some-Blog"] và tập lệnh hoặc tệp có thể được cài đặt trên bất kỳ thư mục con nào của blog.any of the blogs ["blog-one", "blog-two" and "some-blog"] and the script or file can be installed on any subfolder of the blog.
$current_path = getcwd[]; // Get the current path to where the file is located
$folder = explode["/", $current_path]; // Divide the path in parts [aka folders]
$blog = $folder[8]; // The blog's folder is the number 8 on the path
// $root = path without the blog installation folder.
$root = realpath[$_SERVER["DOCUMENT_ROOT"]];
// Now I can require any WordPress file
require "$root/$dir/wp-blog-header.php";
// For the current installation
// For example, wp-blog-header.php to get the blog name or
// wp-config.php to access the database.
Điều này làm cho kịch bản độc lập. Tập lệnh sẽ hoạt động trên bất kỳ thư mục nào trên bất kỳ cài đặt cài đặt WordPress nào miễn là thư mục là số 8. Nếu cài đặt trên thư mục phụ, số 8 sẽ phải được tăng lên. Cũng nhớ rằng đường dẫn hiện tại có thể có nhiều hoặc ít hơn các thư mục, có nghĩa là tập lệnh phải được điều chỉnh phù hợp.
Lưu ý: Điều này sẽ hoạt động bằng cách "mã hóa cứng" vị trí thư mục trên đường dẫn và, miễn là tất cả các cài đặt có cùng một vị trí, tập lệnh sẽ hoạt động. Một cách khác là để mã cứng.: This will work by "hard coding" the folder position on the path and, as long as all installation have the same position, the script will work. The other way around is to hard code.
Đã trả lời ngày 13 tháng 6 năm 2012 lúc 15:38Jun 13, 2012 at 15:38
user983248user983248user983248
2.5386 huy hiệu vàng24 Huy hiệu bạc44 Huy hiệu đồng6 gold badges24 silver badges44 bronze badges
Nếu tất cả những gì bạn đang cố gắng là thư mục hiện tại của nơi tệp được gọi, thì tôi sẽ sử dụng:
realpath[dirname[__FILE__]]
Rất nhiều điều này phụ thuộc vào vị trí của tập tin. Nếu nó nằm trong cùng thư mục với cài đặt WordPress thì nó sẽ giống như:
Đã trả lời ngày 10 tháng 6 năm 2012 lúc 2:28Jun 10, 2012 at 2:28
DrahkardrahkarDrahkar
1.69413 Huy hiệu bạc17 Huy hiệu đồng13 silver badges17 bronze badges
4
Nếu bạn có thể tiếp cận cơ sở dữ liệu, bạn cần phải làm
update_option['wp_dir',dirname[__FILE__]];
Trong tập tin WP-Blog-Header.php.
Sau đó kết nối với cơ sở dữ liệu từ bất kỳ ứng dụng nào và truy xuất đường dẫn bằng truy vấn sau:
$iroot = getcwd[];
$folder = explode["/", $iroot];
$dir = $folder[8]; // I know is 8
$root = realpath[$_SERVER["DOCUMENT_ROOT"]];
require "$root/$dir/wp-blog-header.php";
0Tất nhiên, bạn sẽ cần biết tên cơ sở dữ liệu và tiền tố bảng WordPress.
Tái bút: Điều này có thể hoặc không phải là giải pháp của bạn, nhưng đó là một trong những cách.
Đã trả lời ngày 13 tháng 6 năm 2012 lúc 13:14Jun 13, 2012 at 13:14
FatalerrorfatalerrorFatalError
87511 Huy hiệu bạc26 Huy hiệu đồng11 silver badges26 bronze badges
Tại sao không chỉ đơn giản là làm như sau trong wp-config.php:
$iroot = getcwd[];
$folder = explode["/", $iroot];
$dir = $folder[8]; // I know is 8
$root = realpath[$_SERVER["DOCUMENT_ROOT"]];
require "$root/$dir/wp-blog-header.php";
1e.g.
$iroot = getcwd[];
$folder = explode["/", $iroot];
$dir = $folder[8]; // I know is 8
$root = realpath[$_SERVER["DOCUMENT_ROOT"]];
require "$root/$dir/wp-blog-header.php";
2sẽ trả về "/một/hai/ba" và
$iroot = getcwd[];
$folder = explode["/", $iroot];
$dir = $folder[8]; // I know is 8
$root = realpath[$_SERVER["DOCUMENT_ROOT"]];
require "$root/$dir/wp-blog-header.php";
3sẽ trở lại ""
Đã trả lời ngày 15 tháng 3 năm 2013 lúc 3:11Mar 15, 2013 at 3:11
$iroot = getcwd[];
$folder = explode["/", $iroot];
$dir = $folder[8]; // I know is 8
$root = realpath[$_SERVER["DOCUMENT_ROOT"]];
require "$root/$dir/wp-blog-header.php";
4Sẽ cung cấp cho bạn gốc WordPress chính xác.
Ví dụ: địa chỉ gốc của bạn là www.myroot.com và trang web WordPress của bạn nằm trong thư mục WordPress trong public_html, sau đó wwww.myroot.com/wordpress/ sẽ là kết quả trong $ wp_path. Trong trường hợp như vậy, tên tệp hiện tại của bạn phải nằm trong thư mục gốc plugin của bạn. Giống như một số_plugin là tên plugin của tôi. Vì vậy, con đường đầy đủ sẽ trở thành:
$iroot = getcwd[];
$folder = explode["/", $iroot];
$dir = $folder[8]; // I know is 8
$root = realpath[$_SERVER["DOCUMENT_ROOT"]];
require "$root/$dir/wp-blog-header.php";
5Và
0 là tên tệp của tôi nơi tôi đã viết tập lệnh này, sẽ cho tôi
1. Điều này làm việc cho tôi vì tôi muốn tên thư mục WordPress của tôi. Vì vậy, hãy tìm nội dung như thế này:$iroot = getcwd[];
$folder = explode["/", $iroot];
$dir = $folder[8]; // I know is 8
$root = realpath[$_SERVER["DOCUMENT_ROOT"]];
require "$root/$dir/wp-blog-header.php";
6
Đã trả lời ngày 4 tháng 4 năm 2015 lúc 19:40Apr 4, 2015 at 19:40
Sahib Khansahib KhanSahib Khan
5374 Huy hiệu bạc18 Huy hiệu Đồng4 silver badges18 bronze badges