Thư mục nhà cung cấp WordPress

Không gian tên và tự động tải không được áp dụng rộng rãi khi phát triển plugin WordPress, vì cam kết của WordPress về khả năng tương thích ngược với PHP kể từ 5. 2. 4, trong khi đó, không gian tên chỉ khả dụng kể từ phiên bản 5. 3. 0. Ngoài ra, Composer yêu cầu PHP 5. 3. 2+. Tuy nhiên, nếu bạn đang tạo một trang web WordPress sẽ chạy trên máy chủ có phiên bản PHP là…

Chúng tôi cho rằng bạn đã quen thuộc với nhà soạn nhạc. Nếu không, vui lòng đọc Bắt đầu với Composer cho Dự án WordPress trước

Trước khi chúng tôi thực sự bắt đầu với nhà soạn nhạc, chúng tôi cần thực hiện một số thay đổi đối với thiết lập mặc định của WordPress để làm cho nó trở nên thân thiện hơn với nhà soạn nhạc/git

Bố cục hệ thống tệp

Sau đây là nội dung ví dụ cho webroot. Thông thường thư mục  htdocs,_______36_______ hoặcwww tùy thuộc vào cấu hình máy chủ của bạn

composer.json
composer.lock
index.php
wordpress/
wp-content/
uploads/
wp-config.php
.gitignore

Hãy giải thích từng điều trên

tập tin gitignore

Một số tệp và thư mục sẽ được tạo tự động và hiển thị ở trên chỉ để minh họa. Điều này cũng có nghĩa là chúng tôi sẽ không đặt chúng dưới sự kiểm soát phiên bản. Vì vậy, ở mức tối thiểu, vui lòng thêm phần sau vào. gitignore

vendor/
wordpress/
wp-content/

Thư mục vendor sẽ được tạo bởi nhà soạn nhạc khi chạy. Chúng tôi sẽ không sử dụng nó cho bất kỳ mục đích nào

thư mục "wordpress"

Chúng tôi sẽ cung cấp cho WordPress lõi  thư mục riêng. WordPress hỗ trợ kiểu thiết lập này từ lâu

Xin lưu ý rằng bạn không cần phải tự tạo thư mục này hoặc tải xuống WordPress. Nhà soạn nhạc sẽ lo việc này

mục lục. php trong webroot

Để hỗ trợ ở trên, chúng tôi sẽ cần sao chép

vendor/
wordpress/
wp-content/
0 từ thư mục WordPress sang thư mục gốc (htdocs) và chỉnh sửa thư mục đó để bao gồm đường dẫn thư mục “wordpress”. Bạn có thể sử dụng ví dụ dưới đây vì nó là

<?php
/**
 * Front to the WordPress application. This file doesn't do anything, but loads
 * wp-blog-header.php which does and tells WordPress to load the theme.
 *
 * @package WordPress
 */

/**
 * Tells WordPress to load the WordPress theme and output it.
 *
 * @var bool
 */
define('WP_USE_THEMES', true);

/** Loads the WordPress Environment and Template */
require( dirname( __FILE__ ) . '/wordpress/wp-blog-header.php' );

Bạn có thể nhận thấy

vendor/
wordpress/
wp-content/
2 ở dòng cuối cùng

thư mục “wp-content”

Tiếp theo, chúng ta cần di chuyển

vendor/
wordpress/
wp-content/
3 ra bên ngoài thư mục
vendor/
wordpress/
wp-content/
4.

Một lần nữa, bạn không cần phải tạo nội dung wp hoặc tải xuống bất kỳ chủ đề/plugin nào. Nhà soạn nhạc sẽ làm điều này cho bạn

wp-config. php

Để bố cục không mặc định của chúng tôi hoạt động, chúng tôi cần phải thêm một số dòng vào tệp

vendor/
wordpress/
wp-content/
5 của mình

Bạn có thể thêm phần sau ở trên cùng (sau thẻ

vendor/
wordpress/
wp-content/
6)

define('WP_SITEURL', 'https://' . $_SERVER['SERVER_NAME'] . '/wordpress');
define('WP_HOME',    'https://' . $_SERVER['SERVER_NAME']);
define('WP_CONTENT_DIR', dirname(__FILE__) . '/wp-content');
define('WP_CONTENT_URL', 'https://' . $_SERVER['SERVER_NAME'] . '/wp-content');

Hai dòng đầu tiên chăm sóc thư mục

vendor/
wordpress/
wp-content/
4 và hai dòng tiếp theo chăm sóc thư mục
vendor/
wordpress/
wp-content/
3

Di chuyển wp-config. php bên ngoài webroot (tùy chọn)

Như bạn có thể nhận thấy,

vendor/
wordpress/
wp-content/
5 hiện diện trong thư mục webroot công khai tại đây

sẽ không làm việc ở đây. Điều này là do chúng tôi đã tăng một bậc đối với thư mục

vendor/
wordpress/
wp-content/
4. Nhưng chúng ta vẫn có thể nâng nó lên một cấp độ bằng cách thực hiện thêm một số công việc

Với wp-config gốc. php

  1. Di chuyển wp-config gốc. php lên một cấp, bên ngoài webroot. Hãy gọi webroot htdocs tại đây. Nó có thể là public_html, www hoặc bất cứ thứ gì khác. Bạn gọi thư mục của mình là gì không quan trọng miễn là bạn nhớ tên của nó
  2. Thay đổi dòng
    <?php
    /**
     * Front to the WordPress application. This file doesn't do anything, but loads
     * wp-blog-header.php which does and tells WordPress to load the theme.
     *
     * @package WordPress
     */
    
    /**
     * Tells WordPress to load the WordPress theme and output it.
     *
     * @var bool
     */
    define('WP_USE_THEMES', true);
    
    /** Loads the WordPress Environment and Template */
    require( dirname( __FILE__ ) . '/wordpress/wp-blog-header.php' );
    4 để bao gồm thư mục webroot vì dòng này đề cập đến đường dẫn hệ thống tệp tuyệt đối. Trong trường hợp của chúng tôi, nó sẽ trở thành
    <?php
    /**
     * Front to the WordPress application. This file doesn't do anything, but loads
     * wp-blog-header.php which does and tells WordPress to load the theme.
     *
     * @package WordPress
     */
    
    /**
     * Tells WordPress to load the WordPress theme and output it.
     *
     * @var bool
     */
    define('WP_USE_THEMES', true);
    
    /** Loads the WordPress Environment and Template */
    require( dirname( __FILE__ ) . '/wordpress/wp-blog-header.php' );
    5
  3. Bây giờ, hãy chuyển đến dòng cuối cùng
    <?php
    /**
     * Front to the WordPress application. This file doesn't do anything, but loads
     * wp-blog-header.php which does and tells WordPress to load the theme.
     *
     * @package WordPress
     */
    
    /**
     * Tells WordPress to load the WordPress theme and output it.
     *
     * @var bool
     */
    define('WP_USE_THEMES', true);
    
    /** Loads the WordPress Environment and Template */
    require( dirname( __FILE__ ) . '/wordpress/wp-blog-header.php' );
    6 và nhận xét nó

Tạo một wp-config “giả” mới. php

Sau khi di chuyển và sửa đổi bản gốc

vendor/
wordpress/
wp-content/
5, chúng ta cần tạo một trình giữ chỗ/giả mạo
vendor/
wordpress/
wp-content/
5 trong webroot. Hãy nhớ rằng WordPress không thể tra cứu hai cấp độ cho
vendor/
wordpress/
wp-content/
5

Bạn có thể đặt wp-config sau. php như hiện tại

<?php
/** path to real wp-config.php **/
require_once( dirname(__DIR__) . '/wp-config.php');

/** Sets up WordPress vars and included files. */
require_once(ABSPATH . 'wp-settings.php');

nhà soạn nhạc. tập tin khóa

Như đã giải thích trong chương trước, tệp

define('WP_SITEURL', 'https://' . $_SERVER['SERVER_NAME'] . '/wordpress');
define('WP_HOME',    'https://' . $_SERVER['SERVER_NAME']);
define('WP_CONTENT_DIR', dirname(__FILE__) . '/wp-content');
define('WP_CONTENT_URL', 'https://' . $_SERVER['SERVER_NAME'] . '/wp-content');
0 sẽ được tạo tự động. Vì vậy, chúng ta không cần khám phá thêm về nó

nhà soạn nhạc. tập tin json

Ở mức tối thiểu _______9_______1 tệp cho WordPress sẽ giống như bên dưới

{
    "require": {
        "johnpbloch/wordpress": "4.2.2"
    }
}

Kho lưu trữ chính thức của nhà soạn nhạc có gói trình soạn nhạc dành cho WordPress do John P duy trì. khối u

Bạn có thể sao chép nội dung trên vào tệp

define('WP_SITEURL', 'https://' . $_SERVER['SERVER_NAME'] . '/wordpress');
define('WP_HOME',    'https://' . $_SERVER['SERVER_NAME']);
define('WP_CONTENT_DIR', dirname(__FILE__) . '/wp-content');
define('WP_CONTENT_URL', 'https://' . $_SERVER['SERVER_NAME'] . '/wp-content');
1 trên hệ thống tệp của mình hoặc chạy
define('WP_SITEURL', 'https://' . $_SERVER['SERVER_NAME'] . '/wordpress');
define('WP_HOME',    'https://' . $_SERVER['SERVER_NAME']);
define('WP_CONTENT_DIR', dirname(__FILE__) . '/wp-content');
define('WP_CONTENT_URL', 'https://' . $_SERVER['SERVER_NAME'] . '/wp-content');
3  sẽ tạo tệp
define('WP_SITEURL', 'https://' . $_SERVER['SERVER_NAME'] . '/wordpress');
define('WP_HOME',    'https://' . $_SERVER['SERVER_NAME']);
define('WP_CONTENT_DIR', dirname(__FILE__) . '/wp-content');
define('WP_CONTENT_URL', 'https://' . $_SERVER['SERVER_NAME'] . '/wp-content');
1 theo sau là trình hướng dẫn tương tác.

Trong cả hai trường hợp, bạn sẽ có một tệp 

define('WP_SITEURL', 'https://' . $_SERVER['SERVER_NAME'] . '/wordpress');
define('WP_HOME',    'https://' . $_SERVER['SERVER_NAME']);
define('WP_CONTENT_DIR', dirname(__FILE__) . '/wp-content');
define('WP_CONTENT_URL', 'https://' . $_SERVER['SERVER_NAME'] . '/wp-content');
1

Tiếp theo, hãy chạy lệnh

define('WP_SITEURL', 'https://' . $_SERVER['SERVER_NAME'] . '/wordpress');
define('WP_HOME',    'https://' . $_SERVER['SERVER_NAME']);
define('WP_CONTENT_DIR', dirname(__FILE__) . '/wp-content');
define('WP_CONTENT_URL', 'https://' . $_SERVER['SERVER_NAME'] . '/wp-content');
6, lệnh này sẽ tạo thư mục_______1_______4 và tải xuống phiên bản WordPress 4. 2. 2 trong đó. Bạn có thể chỉ định bất kỳ phiên bản nào khác và nó sẽ được tải xuống

Bạn cũng sẽ thấy thư mục vendor và tệp

define('WP_SITEURL', 'https://' . $_SERVER['SERVER_NAME'] . '/wordpress');
define('WP_HOME',    'https://' . $_SERVER['SERVER_NAME']);
define('WP_CONTENT_DIR', dirname(__FILE__) . '/wp-content');
define('WP_CONTENT_URL', 'https://' . $_SERVER['SERVER_NAME'] . '/wp-content');
0 được tạo. Bạn không cần phải đào sâu vào chúng

Trong chương tiếp theo, chúng ta sẽ khám phá

define('WP_SITEURL', 'https://' . $_SERVER['SERVER_NAME'] . '/wordpress');
define('WP_HOME',    'https://' . $_SERVER['SERVER_NAME']);
define('WP_CONTENT_DIR', dirname(__FILE__) . '/wp-content');
define('WP_CONTENT_URL', 'https://' . $_SERVER['SERVER_NAME'] . '/wp-content');
1 chi tiết hơn

Đừng quên git commit/push thay đổi bạn đã thực hiện cho đến nay. Từ đây trở đi, bạn sẽ chỉ chỉnh sửa

define('WP_SITEURL', 'https://' . $_SERVER['SERVER_NAME'] . '/wordpress');
define('WP_HOME',    'https://' . $_SERVER['SERVER_NAME']);
define('WP_CONTENT_DIR', dirname(__FILE__) . '/wp-content');
define('WP_CONTENT_URL', 'https://' . $_SERVER['SERVER_NAME'] . '/wp-content');
1 và chạy lệnh
<?php
/** path to real wp-config.php **/
require_once( dirname(__DIR__) . '/wp-config.php');

/** Sets up WordPress vars and included files. */
require_once(ABSPATH . 'wp-settings.php');
2 để cập nhật tệp
define('WP_SITEURL', 'https://' . $_SERVER['SERVER_NAME'] . '/wordpress');
define('WP_HOME',    'https://' . $_SERVER['SERVER_NAME']);
define('WP_CONTENT_DIR', dirname(__FILE__) . '/wp-content');
define('WP_CONTENT_URL', 'https://' . $_SERVER['SERVER_NAME'] . '/wp-content');
0. Các tệp khác sẽ hầu như không bị ảnh hưởng

Thư mục nhà cung cấp để làm gì?

Đó là thư mục nằm ở thư mục gốc của mô-đun Go lưu trữ bản sao của tất cả mã mà mô-đun phụ thuộc vào . Mã nhà cung cấp được sử dụng để biên dịch tệp thực thi cuối cùng khi chạy lệnh go build.

Thư mục nhà cung cấp trong PHP là gì?

"vendor" là thư mục nơi Cài đặt Drupal - composer lưu trữ các thư viện của nó . Nếu bạn xem tệp web/autoload. php, bạn sẽ thấy nó hoạt động như thế nào.

Tệp nhà cung cấp trong HTML là gì?

/vendor thường đề cập đến thư mục chứa plugin của bên thứ ba .

Bạn có thể sử dụng Composer với WordPress không?

Composer giúp bạn khai báo, quản lý và cài đặt tất cả các phụ thuộc cần thiết để chạy dự án của bạn . Nó cho phép bạn làm cho trang web WordPress của mình ổn định hơn, an toàn hơn và dễ bảo trì hơn. Với Composer, bạn không cần phải cam kết tất cả lõi WordPress, chủ đề và plugin của nó vào kho lưu trữ Git của dự án của bạn.