Is_page wordpress không hoạt động

wpseek. com
Công cụ tìm kiếm tập trung vào WordPress dành cho nhà phát triển và tác giả chủ đề


Hàm Bộ lọc Hành động Hằng số

  • XINH
  • Twitter
  • Facebook
  • Ngon

Tải ứng dụng wpseek Android


is_page  › Chức năng WordPress

Từ 1. 5. 0

Không dùng nữa n/a

› is_page ( $page = '' )

Thông số
  • (int. chuỗi. int[]. chuỗi[]) $page Tùy chọn. ID trang, tiêu đề, sên hoặc mảng như vậy để kiểm tra. Mặc định trống. Bắt buộc. Không Mặc định. (trống)
Thấy
  • is_single()
  • is_singular()
trả lại
  • (bool) Liệu truy vấn có dành cho một trang hiện có hay không
xác định tại
  • bao gồm wp/truy vấn. php , dòng 584
Codex
  • nhà phát triển. báo chí. tổ chức / is_page

Xác định xem truy vấn có dành cho một trang hiện có hay không

Nếu tham số $page được chỉ định, chức năng này sẽ kiểm tra thêm xem truy vấn có dành cho một trong các trang được chỉ định hay không. Để biết thêm thông tin về điều này và các chức năng chủ đề tương tự, hãy xem bài viết {@link Thẻ có điều kiện} trong Sổ tay nhà phát triển chủ đề



chức năng liên quan. is_paged, is_tag, is_date, link_pages, wp_list_pages

Nguồn

function is_page( $page = '' ) {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		_doing_it_wrong( __FUNCTION__, __( 'Conditional query tags do not work before the query is run. Before then, they always return false.' ), '3.1.0' );
		return false;
	}

	return $wp_query->is_page( $page );
}

cập nhật. CN, ngày 29 tháng 01 năm 2023 09. 00. 01 +0100

Kiểm tra xem "trang tĩnh" có hiển thị không. Bạn có thể chỉ định ID, tên hoặc tiêu đề trang để kiểm tra một trang cụ thể. thẻ có điều kiện

Nếu tham số $page được chỉ định, chức năng này sẽ kiểm tra thêm xem truy vấn có dành cho một trong các trang được chỉ định hay không

Để biết thêm thông tin về điều này và các chức năng chủ đề tương tự, hãy xem bài viết Thẻ có điều kiện trong Sổ tay nhà phát triển chủ đề

Sẽ trả về true khi truyền giá trị null

Hãy chú ý vì các lệnh gọi sau của hàm này sẽ trả về true

is_page( '' )
is_page( 0 )
is_page( '0' )
is_page( null )
is_page( false )
is_page( array() )

Không thể được sử dụng bên trong Vòng lặp WordPress

Vì một số biến toàn cục bị ghi đè trong vòng lặp nên không thể sử dụng is_page() bên trong vòng lặp. Tuy nhiên, điều này là không cần thiết. Để sử dụng Thẻ mẫu này sau Vòng lặp, bạn cần đặt lại một vòng lặp tùy ý (yêu cầu lấy các bài đăng khác) bằng chức năng. wp_reset_query()

công dụng. WP_Query. is_page()

Được sử dụng bởi. is_shop()

1 lần — 0. 000012 giây (rất nhanh). 50000 lần — 0. 02 giây (tốc độ ánh sáng). PHP7. 0. 8, WP 4. 6. 1

không móc

Trở lại

if( is_page( $page ) ){
	 // code
}
2

  • đúng nếu loại bài đăng trang được hiển thị. trang tĩnh
  • sai nếu bất kỳ loại bài đăng nào khác được hiển thị

Cách sử dụng

if( is_page( $page ) ){
	 // code
}
$page(int/string/array)ID trang, tiêu đề, sên hoặc mảng như vậy
Vỡ nợ. '' (trang bất kỳ)

ví dụ

0

Chức năng trong hành động

Các ví dụ khác nhau về các trường hợp sử dụng khi hàm trả về true (hàm được kích hoạt)

is_page();
// when any static page is displayed.

is_page(42);
// when the page with ID 42 is displayed.

is_page('About site');
// When the page with the title "About site" is displayed.

is_page('about-site');
// When the page with the name "about-site" is displayed.

is_page( array(42, 'about-site', 'About site') );
// Parameters can be combined.

is_page( array('sample-page', 'contacts', 23, 34) );
// You can check multiple pages at the same time. All specified pages are different...

0

Kiểm tra xem chúng tôi có đang ở trang con của trang tĩnh không

Không có chức năng is_subpage() trong WordPress. Nhưng việc kiểm tra như vậy có thể được thực hiện với đoạn mã sau

ví dụ 1

global $post;     // If outside the cycle

if ( is_page() && $post->post_parent ) {
	// This is a child page

} else {
	// This is not a child page
}

ví dụ 2

Bạn có thể tạo hàm is_subpage() của riêng mình. Thêm mã bên dưới vào các chức năng của chủ đề. tập tin php. Nó hoạt động giống như ví dụ đầu tiên. kiểm tra xem trang hiện tại có phải là trang con không, tôi. e. đó có phải là trang post_type hay không và liệu nó có trang mẹ không

/*
 * Check whether the current static page is a child page
 * @return true/false
 */
function is_subpage() {
	global $post;

	if ( is_page() && $post->post_parent ) {
		return $post->post_parent;
	} 
	return false;
}

ví dụ 3

Sử dụng ví dụ này để xác định trang

if( is_page( $page ) ){
	 // code
}
3 hoặc trang con của nó. Ví dụ này hữu ích nếu bạn muốn chỉ định một biến cho toàn bộ nhánh trang. Ví dụ, ở đây chúng tôi chỉ ra một hình ảnh cho nhánh tất cả các trang

________số 8_______

Ví dụ 4

Tạo một chức năng sẽ kiểm tra tất cả các cấp độ lồng nhau, tôi. e. toàn bộ nhánh của các trang con và nếu chúng ta đang ở một trong các trang của nhánh, hàm sẽ trả về true, nếu không thì trả về false. Giả sử chúng ta có một trang "Giới thiệu về chúng tôi", nó có một trang con "Dịch vụ của chúng tôi" và trang này có một trang con khác là "Vẽ tranh" và "Hoàn thiện". Trong chức năng này, chúng tôi chuyển ID của trang "Giới thiệu về chúng tôi" và nó sẽ trả về true nếu chúng tôi ở bất kỳ trang nào được đề cập

/*
 * Check the child pages at all nesting levels
 * @param (int) $pid   Page ID all levels of child pages we need to check
 */
function is_tree( $pid ){
	global $post;

	// return if we are already on the specified page
	if( is_page( $pid ) )
		return true;

	$anc = get_post_ancestors( $post->ID );
	foreach( $anc as $ancestor ){
		if( is_page() && $ancestor == $pid ){
			return true;
		}
	}

	return false;
}

0

Kiểm tra tách trang

We can use the shortcode inside the post content. This code will divide the text of the post into several pages. The code below is useful when you want to display some data on the first of multiple pages only.

ví dụ 1

$paged = $wp_query->get( 'paged' );

if ( ! $paged || $paged < 2 ){
	// The post is not divided into pages or it is not the first page.
}
else {
	// That's 2,3,4 .. page of the divided post.
}

ví dụ 2

$paged = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : false;
if ( $paged === false ){
	// The post is not divided into pages or it is not the first page.
}
else {
	// That's 2,3,4 .. page of the divided post.

}

ví dụ 3

if ( 0 === get_query_var( 'page' ) ) {
	// The post is not divided into pages or it is not the first page.
}
else {
	// That's 2,3,4 .. page of the divided post.
}

0

Một lưu ý về Cyrillic và tên (slug)

Nếu trang web của bạn không thay đổi bảng chữ cái Cyrillic sang bảng chữ cái Latinh - plugin Сry to Lat (hoặc tương tự) chưa được cài đặt, khi một bài đăng được tạo, tên của nó sẽ thay đổi và Cyrillic chuyển thành các ký hiệu đặc biệt (ví dụ:. địa chỉ liên hệ sẽ được thay đổi thành %d0%ba%d0%be%d0%bd%d1%82%d0%b0%d0%ba%d1%82%d1%8b), vì vậy khi kiểm tra bạn cần tính đến điều này. Tôi. e. nếu tên (post_name) được chọn thay vì tiêu đề, hãy làm như vậy