Php bao gồm một phần của tập tin

Bạn có thể đưa nội dung của một tệp PHP vào một tệp PHP khác trước khi máy chủ thực thi nó. Có hai hàm PHP có thể được sử dụng để bao gồm một tệp PHP vào một tệp PHP khác

  • Hàm bao gồm []
  • Hàm yêu cầu []

Đây là điểm mạnh của PHP giúp tạo các hàm, header, footer hay các phần tử có thể sử dụng lại trên nhiều trang. Điều này sẽ giúp các nhà phát triển dễ dàng thay đổi bố cục của trang web hoàn chỉnh với nỗ lực tối thiểu. Nếu có bất kỳ thay đổi nào cần thiết thì thay vì thay đổi hàng nghìn tệp, chỉ cần thay đổi tệp được bao gồm

Hàm bao gồm []

Hàm bao gồm [] lấy tất cả văn bản trong một tệp được chỉ định và sao chép nó vào tệp sử dụng hàm bao gồm. Nếu có bất kỳ vấn đề nào khi tải tệp thì hàm include[] sẽ tạo cảnh báo nhưng tập lệnh sẽ tiếp tục thực thi

Giả sử bạn muốn tạo một menu chung cho trang web của mình. Sau đó tạo một menu tập tin. php với nội dung sau

Home - 
ebXML - 
AJAX - 
PERL 

Bây giờ hãy tạo bao nhiêu trang tùy thích và bao gồm tệp này để tạo tiêu đề. Ví dụ bây giờ bài kiểm tra của bạn. tệp php có thể có nội dung sau

   
   
      include["menu.php"]; ?>
      

This is an example to show how to include PHP file!

Nó sẽ tạo ra kết quả sau -

Hàm yêu cầu []

Hàm request[] lấy tất cả văn bản trong một tệp đã chỉ định và sao chép nó vào tệp sử dụng hàm bao gồm. Nếu có bất kỳ sự cố nào khi tải tệp thì hàm request[] sẽ tạo ra lỗi nghiêm trọng và tạm dừng việc thực thi tập lệnh

Vì vậy, không có sự khác biệt trong yêu cầu [] và bao gồm [] ngoại trừ chúng xử lý các điều kiện lỗi. Bạn nên sử dụng hàm require[] thay vì include[], vì các tập lệnh sẽ không tiếp tục thực thi nếu các tệp bị thiếu hoặc đặt tên sai

Bạn có thể thử sử dụng ví dụ trên với hàm require[] và nó sẽ tạo ra kết quả tương tự. Nhưng nếu bạn thử làm theo hai ví dụ trong đó tệp không tồn tại thì bạn sẽ nhận được kết quả khác

   
   
      
      

This is an example to show how to include wrong PHP file!

Điều này sẽ tạo ra kết quả sau -

This is an example to show how to include wrong PHP file!

Bây giờ hãy thử ví dụ tương tự với hàm require[]

   
       
       require["xxmenu.php"]; ?>
       

This is an example to show how to include wrong PHP file!

Lần này việc thực thi tệp tạm dừng và không có gì được hiển thị

LƯU Ý – Bạn có thể nhận được thông báo cảnh báo đơn giản hoặc thông báo lỗi nghiêm trọng hoặc không có gì cả. Điều này phụ thuộc vào cấu hình Máy chủ PHP của bạn

Bao gồm phần mẫu được đặt tên cho một chủ đề hoặc nếu một tên được chỉ định thì một phần chuyên biệt sẽ được bao gồm. Nếu chủ đề không chứa {slug}. php thì sẽ không có mẫu nào được đưa vào

Mẫu được bao gồm bằng cách sử dụng yêu cầu, không phải request_once, vì vậy bạn có thể bao gồm cùng một phần mẫu nhiều lần

Đối với tham số $name, nếu tệp có tên "{slug}-special. php" thì chỉ định "đặc biệt"

get_template_part[
	'template-part',
	'name',
	array[
		'key'	=> 'value',
		'key2'	=> 'value2'
	]
];
2 chuỗi Bắt buộc

Tên sên cho mẫu chung

get_template_part[
	'template-part',
	'name',
	array[
		'key'	=> 'value',
		'key2'	=> 'value2'
	]
];
3 chuỗi Tùy chọn

Tên tiêu bản chuyên ngành

Vỡ nợ.

get_template_part[
	'template-part',
	'name',
	array[
		'key'	=> 'value',
		'key2'	=> 'value2'
	]
];
4

get_template_part[
	'template-part',
	'name',
	array[
		'key'	=> 'value',
		'key2'	=> 'value2'
	]
];
5 mảng Tùy chọn

Các đối số bổ sung được chuyển đến mẫu

Vỡ nợ.

get_template_part[
	'template-part',
	'name',
	array[
		'key'	=> 'value',
		'key2'	=> 'value2'
	]
];
6

khoảng trống. false Vô hiệu khi thành công, sai nếu mẫu không tồn tại.

get_template_part[ $slug ];
get_template_part[ $slug, $name ];

Ghi chú.

get_template_part[
	'template-part',
	'name',
	array[
		'key'	=> 'value',
		'key2'	=> 'value2'
	]
];
7 âm thầm thất bại

Tập tin.

get_template_part[
	'template-part',
	'name',
	array[
		'key'	=> 'value',
		'key2'	=> 'value2'
	]
];
8. Xem tất cả tài liệu tham khảo

function get_template_part[ $slug, $name = null, $args = array[] ] {
	/**
	 * Fires before the specified template part file is loaded.
	 *
	 * The dynamic portion of the hook name, `$slug`, refers to the slug name
	 * for the generic template part.
	 *
	 * @since 3.0.0
	 * @since 5.5.0 The `$args` parameter was added.
	 *
	 * @param string      $slug The slug name for the generic template.
	 * @param string|null $name The name of the specialized template.
	 * @param array       $args Additional arguments passed to the template.
	 */
	do_action[ "get_template_part_{$slug}", $slug, $name, $args ];

	$templates = array[];
	$name      = [string] $name;
	if [ '' !== $name ] {
		$templates[] = "{$slug}-{$name}.php";
	}

	$templates[] = "{$slug}.php";

	/**
	 * Fires before an attempt is made to locate and load a template part.
	 *
	 * @since 5.2.0
	 * @since 5.5.0 The `$args` parameter was added.
	 *
	 * @param string   $slug      The slug name for the generic template.
	 * @param string   $name      The name of the specialized template.
	 * @param string[] $templates Array of template files to search for, in order.
	 * @param array    $args      Additional arguments passed to the template.
	 */
	do_action[ 'get_template_part', $slug, $name, $templates, $args ];

	if [ ! locate_template[ $templates, true, false, $args ] ] {
		return false;
	}
}

do_action [ 'get_template_part', chuỗi $slug, string $name, string[] $templates, array $args ]

Kích hoạt trước khi cố gắng định vị và tải một phần mẫu

do_action [ "get_template_part_{$slug}", chuỗi $slug, string|null $name , mảng $args ]

Kích hoạt trước khi tệp phần mẫu được chỉ định được tải

UsesUsesDescriptionlocate_template[] wp-includes/template. php

Truy xuất tên của tệp mẫu có mức ưu tiên cao nhất đang tồn tại

do_action[] wp-gộp/plugin. php

Gọi các chức năng gọi lại đã được thêm vào hook hành động

ChangelogVersionDescription5. 5. 0 Tham số
get_template_part[
	'template-part',
	'name',
	array[
		'key'	=> 'value',
		'key2'	=> 'value2'
	]
];
5 đã được thêm vào.
3. 0. 0Giới thiệu.

  1. Bạn phải đăng nhập để bình chọn về mức độ hữu ích của ghi chú nàyKết quả bình chọn cho ghi chú này. 57Bạn phải đăng nhập để bình chọn về mức độ hữu ích của ghi chú này

    Đóng góp bởi Codex

    Sử dụng với các thư mục con chủ đề

    Để sử dụng chức năng này với các thư mục con trong thư mục chủ đề của bạn, chỉ cần thêm tên thư mục trước sên. Ví dụ: nếu bạn có một thư mục có tên là “partials” trong thư mục chủ đề của mình và một phần mẫu có tên là “content-page. php” trong thư mục con đó, bạn sẽ sử dụng

    get_template_part[
    	'template-part',
    	'name',
    	array[
    		'key'	=> 'value',
    		'key2'	=> 'value2'
    	]
    ];
    7 như thế này

    Đăng nhập để thêm phản hồi
  2. Bạn phải đăng nhập để bình chọn về mức độ hữu ích của ghi chú nàyKết quả bình chọn cho ghi chú này. 51Bạn phải đăng nhập để bình chọn về mức độ hữu ích của ghi chú này

    Đóng góp bởi Vinobe

    Truyền biến sau WordPress 5. 5 bản cập nhật
    =================================================================

    Khi gọi hàm

    get_template_part[
    	'template-part',
    	'name',
    	array[
    		'key'	=> 'value',
    		'key2'	=> 'value2'
    	]
    ];

    Trong phần mẫu của bạn

    var_dump[ $args ];	// Everything
    echo $args['key'];	// Specific values

    Đăng nhập để thêm phản hồi
  3. Bạn phải đăng nhập để bình chọn về mức độ hữu ích của ghi chú nàyKết quả bình chọn cho ghi chú này. 34Bạn phải đăng nhập để bình chọn về mức độ hữu ích của ghi chú này

    Đóng góp bởi pcarvalho

    codex cũ có mục này về "Chuyển biến cho mẫu"

    Vì mẫu đang được yêu cầu, nên mẫu sẽ không có quyền truy cập vào bất kỳ biến nào bạn xác định trong mã PHP của chủ đề gọi điện, trừ khi bạn khai báo rõ ràng chúng là toàn cầu

    Tuy nhiên, load_template[], được gọi gián tiếp bởi get_template_part[] trích xuất tất cả các biến truy vấn WP_Query, vào phạm vi của mẫu đã tải. Vì vậy, bạn có thể sử dụng set_query_var[] để cung cấp biến của mình cho phần mẫu

    // You wish to make $my_var available to the template part at `content-part.php`
    set_query_var[ 'my_var', $my_var ];
    get_template_part[ 'content', 'part' ];

    • Đề xuất nhỏ, nó nên là 'Vì vị trí trong quá trình thực thi mã, mẫu đang được yêu cầu'. Thực tế là được yêu cầu so với được đưa vào không phải là lý do khiến người ta phải sử dụng các biến truy vấn WP_Query. — Bởi Jonathan Bossenger —

    • // Kể từ phiên bản WP 5. 5, chúng ta có thể đặt các đối số trực tiếp như sau // Lưu ý. phương thức mảng yêu cầu PHP 7. * $args = [ ‘my_var_1’ => $my_var_1, ‘my_var_2’ => $my_var_2, ];

    Đăng nhập để thêm phản hồi
  4. Bạn phải đăng nhập để bình chọn về mức độ hữu ích của ghi chú nàyKết quả bình chọn cho ghi chú này. 32Bạn phải đăng nhập để bình chọn về mức độ hữu ích của ghi chú này

    Đóng góp bởi Codex

    Sử dụng vòng lặp. php trong chủ đề con
    Giả sử thư mục chủ đề là

    var_dump[ $args ];	// Everything
    echo $args['key'];	// Specific values
    1, chủ đề gốc là 20 và chủ đề con là 20tenchild, thì đoạn mã sau —

    sẽ thực hiện PHP

    var_dump[ $args ];	// Everything
    echo $args['key'];	// Specific values
    2 cho tệp đầu tiên tồn tại trong số này, theo mức độ ưu tiên này

    wp-content/Themes/Twentytenchild/loop-index. php
    wp-content/Themes/Twentyten/loop-index. php
    nội dung wp/chủ đề/hai mươi mười con/vòng lặp. php
    nội dung wp/chủ đề/hai mươi/vòng lặp. php

    Đăng nhập để thêm phản hồi
  5. Bạn phải đăng nhập để bình chọn về mức độ hữu ích của ghi chú nàyKết quả bình chọn cho ghi chú này. 9Bạn phải đăng nhập để bình chọn về mức độ hữu ích của ghi chú này

    Đóng góp bởi Codex

    dẫn đường
    Thêm thanh điều hướng vào chủ đề bằng tệp mẫu

    var_dump[ $args ];	// Everything
    echo $args['key'];	// Specific values
    3 chung

    
    
    

    Đăng nhập để thêm phản hồi
  6. Bạn phải đăng nhập để bình chọn về mức độ hữu ích của ghi chú nàyKết quả bình chọn cho ghi chú này. 7Bạn phải đăng nhập để bình chọn về mức độ hữu ích của ghi chú này

    Đóng góp bởi đội trưởng cainer

    Một ví dụ đơn giản về cách sử dụng tham số

    get_template_part[
    	'template-part',
    	'name',
    	array[
    		'key'	=> 'value',
    		'key2'	=> 'value2'
    	]
    ];
    5 trong WordPress 5. 5 trong phần mẫu của bạn

Chủ Đề