Hướng dẫn how can i tell if a page exists in wordpress? - làm thế nào tôi có thể biết nếu một trang tồn tại trong wordpress?

Tôi cần hiển thị một số nội dung nhất định tùy thuộc vào việc URL trang có tồn tại hay không. Tôi không muốn kiểm tra theo tiêu đề, bởi vì một số trang nhất định sẽ có cùng tiêu đề và chỉ các trang cha mẹ khác nhau.

Ví dụ, một trang có thể là:

  1. http://example.com/analysis/firstNamelastName
  2. http://example.com/exercise/firstNamelastName

Tôi chỉ cần biết một trong những URL này có tồn tại hay không.

Hướng dẫn how can i tell if a page exists in wordpress? - làm thế nào tôi có thể biết nếu một trang tồn tại trong wordpress?

Hỏi ngày 10 tháng 9 năm 2014 lúc 21:02Sep 10, 2014 at 21:02

1

Bạn có thể lập danh sách các đường dẫn để kiểm tra ...

$page_paths = array(
    'analysis/firstNamelastName',
    'exercise/firstNamelastName'
);

Sau đó kiểm tra xem có một đối tượng trang cho mỗi đường dẫn trang.

foreach( $page_paths as $page_path ) {

    echo '' . $page_path . ' ' . PHP_EOL;

    if( ! $page = get_page_by_path( $page_path ) ){
        echo 'Does not exist.' . PHP_EOL;
    } else{
        echo 'Exists and resolves to: ' . get_permalink( $page->ID ) . '' . PHP_EOL;
    }  

}

Bạn thực sự có thể sử dụng get_page_by_path(); cho các loại bài khác ngoài page. Xem tham số thứ ba.

Đã trả lời ngày 10 tháng 9 năm 2014 lúc 22:19Sep 10, 2014 at 22:19

Michael Ecklundmichael EcklundMichael Ecklund

6.58213 Huy hiệu vàng59 Huy hiệu bạc108 Huy hiệu đồng13 gold badges59 silver badges108 bronze badges

1

is_page (int | chuỗi | int [] | chuỗi [] & nbsp; $ page & nbsp; = & nbsp; '' & nbsp;): boolint|string|int[]|string[] $page = '' ): bool

Xác định xem truy vấn có dành cho một trang đơn 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 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 Cẩm nang nhà phát triển chủ đề.

  • is_single()
  • is_singular()

$page int | chuỗi | int [] | chuỗi [] tùy chọnint|string|int[]|string[] Optional

ID trang, tiêu đề, sên hoặc mảng như vậy để kiểm tra chống lại.

Mặc định: ''


Bool xem truy vấn có dành cho một trang đơn không. Whether the query is for an existing single page.


  • Sẽ trả về đúng nếu một giá trị trống được truyền
  • Do các biến toàn cầu nhất định được ghi đè trong vòng lặp, is_page () sẽ không hoạt động. Để gọi nó sau vòng lặp, bạn phải gọi wp_reset_query () trước.

Tệp:

foreach( $page_paths as $page_path ) {

    echo '' . $page_path . ' ' . PHP_EOL;

    if( ! $page = get_page_by_path( $page_path ) ){
        echo 'Does not exist.' . PHP_EOL;
    } else{
        echo 'Exists and resolves to: ' . get_permalink( $page->ID ) . '' . PHP_EOL;
    }  

}
0. Xem tất cả các tài liệu tham khảo

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 );
}

Xem trên Tracview trên GitHub View on GitHub



Thay đổi
Phiên bảnSự mô tả
1.5.0 Được giới thiệu.

  • Sau khi chỉnh sửa một bài đăng hoặc cập nhật các trường tùy chỉnh của bài đăng, tôi xóa bộ đệm bài đăng và bộ đệm của các trang danh mục mà bài đăng thuộc về và sau đó tạo một phiên bản mới của bài đăng và bộ đệm danh mục.

    Làm thế nào tôi có thể sử dụng URL bài để biết nếu có bộ đệm bài đăng trước khi làm mới? Có lẽ plugin có chức năng như vậy?

Xem 3 câu trả lời - 1 đến 3 (tổng cộng 3)

  • Xin chào @Malferov

    Chủ đề Làm cách nào để kiểm tra xem bộ đệm trang có tồn tại bằng URL không?
    So, when the cache is purged for the entire website or a specific page, once the page is visited it’s cached again.
    Depending on a caching method you are using (let’s say Disk: Enhanced ), you can check all of the pages that are cached in wp-content/cache/page_enhanced/yourwebsite.com
    You can also inspect the element and check the HTML snippet in the bottom of the page:
    E.G.

    Sau khi chỉnh sửa một bài đăng hoặc cập nhật các trường tùy chỉnh của bài đăng, tôi xóa bộ đệm bài đăng và bộ đệm của các trang danh mục mà bài đăng thuộc về và sau đó tạo một phiên bản mới của bài đăng và bộ đệm danh mục.

    Làm thế nào tôi có thể sử dụng URL bài để biết nếu có bộ đệm bài đăng trước khi làm mới? Có lẽ plugin có chức năng như vậy?

    Cảm ơn bạn đã yêu cầu của bạn và tôi rất vui được hỗ trợ bạn về điều này. Vì vậy, khi bộ đệm được thanh lọc cho toàn bộ trang web hoặc một trang cụ thể, một khi trang được truy cập, nó lại được lưu trong bộ nhớ cache. Tùy thuộc vào phương thức bộ nhớ đệm bạn đang sử dụng (giả sử đĩa: nâng cao), bạn có thể kiểm tra tất cả các trang được lưu trong bộ nhớ cache trong wp-intent/cache/page_enhified/yourWebsite.com Bạn cũng có thể kiểm tra phần tử và kiểm tra đoạn trích HTML trong Phần dưới của trang: ví dụ:

    Thanks.

    Xin chào @Malferov

    Bạn có thể sử dụng bộ đệm tải trước trong Tính năng Performance> Trang bộ đệm trang và chỉ định số lượng trang và khoảng thời gian cập nhật. Bằng cách này, bạn sẽ luôn có bộ nhớ cache ấm áp cho khách truy cập. Ngoài ra, hãy đảm bảo thêm trang web của trang web của bạn vào trường SITEMAP: trường. Bạn cũng nên bật PRELOAD POST CACHE khi xuất bản kiểm tra sự kiện. Cảm ơn bạn!
    This way you will always have warm cache for the visitors.
    Also, make sure to add the sitemap of your website to the Sitemap URL: field.
    you should also enable the Preload the post cache upon publish events checkbox.
    Thank you!

Xem 3 câu trả lời - 1 đến 3 (tổng cộng 3)

  • Chủ đề Làm cách nào để kiểm tra xem bộ đệm trang có tồn tại bằng URL không?