Làm cách nào để tải WordPress trên trang không WP?


9

Tôi muốn sử dụng get_option()chức năng của wordpress trong một trong các tệp của chủ đề của mình, không liên quan đến WP, nó chỉ nằm trong cùng thư mục của các tệp chủ đề khác. Tôi cần tệp này vì một số hành động liên quan đến paypal IPN bổ sung, nhưng tôi cần một số giá trị từ bảng tùy chọn tồn tại trong WP để được gọi trong trang này để nó hoạt động. Tôi biết tôi không thể chỉ sử dụng get_option()vì tập tin này bị bỏ qua bởi wordpress. Có cách tiếp cận nào bằng cách đưa một số phần của wordpress vào chủ đề của tôi để làm cho chức năng này chỉ hoạt động không?


Tôi viết lại câu hỏi của bạn. Gợi ý: Chỉ cần xem bên trong wp-load.php .
kaiser

Bạn đã nghĩ về việc đưa các giá trị này ra khỏi cơ sở dữ liệu bằng cách sử dụng truy vấn mysql tùy chỉnh chưa? Tải toàn bộ hệ thống WordPress cho một vài giá trị tùy chọn có thể là quá mức cần thiết. Để duy trì, tôi khuyên bạn nên trả lời Abdussamads (xây dựng nó thành một plugin)
Erik J.

Câu trả lời:


7

Cách đơn giản nhất là bao gồm wp-load.phptập tin. Tệp này sẽ tải tất cả lõi WP, vì vậy bạn có thể sử dụng các hàm WP như get_optiontrong tệp PHP của mình:

include 'path/to/wp-load.php';

echo get_option( 'option_name' );

+1 Nhưng bằng câu trả lời ở trên, bạn có thể xóa "đơn giản nhất";)
kaiser

2
Một dòng (bao gồm wp-load.php) so với nhiều dòng (nhận xét plugin lúc đầu), đó là cách đơn giản nhất, lol.
Anh Trần

6

Cách ngắn nhất là tải wp-load.phpvà hủy bỏ việc tải công cụ mẫu (Lưu ý: Bạn không thể làm điều đó, nếu bạn đang tải tệp tiêu đề, giống như bạn thấy nó trên nhiều trang web trong interweb).

# No need for the template engine
define( 'WP_USE_THEMES', false );
# Load WordPress Core
// Assuming we're in a subdir: "~/wp-content/plugins/current_dir"
require_once( '../../../wp-load.php' );

Có nhiều tài liệu trên WP_USE_THEMEShơn codex.wordpress.org/The_Loop không? :)
jave.web

@ jave.web Chắc chắn: Mã nguồn tìm kiếm tập tin chéo .
kaiser

4

Biến tập tin bên ngoài của bạn thành một plugin WordPress. Bằng cách đó, bạn sẽ có quyền truy cập đầy đủ vào các chức năng cốt lõi của WP.


1
Điều này sẽ làm cho cuộc sống của bạn dễ dàng hơn nhiều về lâu dài.
westondeboer

0

Điều này sẽ hoạt động trên mọi cài đặt WordPress:

<?php
function load_wp_load() {
  $wp_did_header = true;
  require_once($_SERVER['DOCUMENT_ROOT'] . '/index.php');
  $matches = preg_grep('/wp-blog-header.php/', get_included_files());
  if (!empty($matches)) {
    $abspath = dirname(reset($matches)) . '/';
    define('ABSPATH', $abspath);
    require_once(ABSPATH . 'wp-load.php');
  }
}
?>
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.