Hướng dẫn wordpress check if page exists - wordpress kiểm tra xem trang có tồn tại không

Hầu như luôn luôn không bao giờ được khuyến khích chạy SQL tùy chỉnh khi WordPress có các chức năng gốc để thực hiện một công việc cụ thể. Slug hoặc post_name của một trang cũng được sử dụng trong đường dẫn của trang (URL) để xác định và trả về nội dung của trang đó khi một trang đó được truy cập. Điều này có nghĩa là, chúng ta có thể sử dụng get_page_by_path() và chỉ cần chuyển sên (post_name) cho hàm và nhận đối tượng trang được trả về.

get_page_by_path ( string $page_path, string $output = OBJECT, string|array $post_type = 'page' )

Giống như nhiều chức năng và quy ước đặt tên khác (như post_name thực sự là sên, chứ không phải tên) trong WordPress, tên của ________ 6 thật khó hiểu và imho ngu ngốc vì bạn có thể chuyển bất kỳ loại bài nào cho chức năng

Chúng ta có thể sử dụng get_page_by_path() sẽ không trả về không tìm thấy trang hoặc đối tượng trang thành công. Hãy viết một chức năng trình bao bọc thích hợp sẽ trả về sai khi thất bại và sẽ luôn trả về đối tượng trang bất kể trang có tồn tại

function get_post_by_post_name( $slug = '', $post_type = '' ) { //Make sure that we have values set for $slug and $post_type if ( !$slug || !$post_type ) return false; // We will not sanitize the input as get_page_by_path() will handle that $post_object = get_page_by_path( $slug, OBJECT, $post_type ); if ( !$post_object ) return false; return $post_object; }

Sau đó bạn có thể sử dụng nó như sau

if ( function_exists( 'get_post_by_post_name' ) ) { $post_object = get_post_by_post_name( 'post-name-better-known-as-slug', 'your_desired_post_type' ); // Output only if we have a valid post if ( $post_object ) { echo apply_filters( 'the_title', $post_object->post_title ); } }

Nếu bạn thực sự chỉ cần tiêu đề bài viết được trả về, chúng ta có thể thay đổi một chút chức năng

function get_post_title_by_post_name( $slug = '', $post_type = '' ) { //Make sure that we have values set for $slug and $post_type if ( !$slug || !$post_type ) return false; // We will not sanitize the input as get_page_by_path() will handle that $post_object = get_page_by_path( $slug, OBJECT, $post_type ); if ( !$post_object ) return false; return apply_filters( 'the_title', $post_object->post_title ); }

và sau đó sử dụng nó như sau

if ( function_exists( 'get_post_title_by_post_name' ) ) { $post_title = get_post_title_by_post_name( 'post-name-better-known-as-slug', 'your_desired_post_type' ); // Output only if we have a valid post if ( $post_title ) { echo $post_title; } }

Tiết lộ: Bài viết này có thể chứa các liên kết liên kết và bất kỳ doanh số nào được thực hiện thông qua các liên kết như vậy sẽ thưởng cho chúng tôi một khoản hoa hồng nhỏ, mà không phải trả thêm chi phí cho bạn. Đọc thêm về công bố liên kết ở đây.

Có thể có một tình huống khi bạn cần hiển thị nội dung dựa trên sự tồn tại của một trang hoặc bài tùy chỉnh không phân cấp theo URL. Như ví dụ dưới đây, có hai trang mẹ khác nhau cho cùng một sên trang. Chúng tôi giả định rằng một số trang nhất định sẽ có cùng một tiêu đề và chỉ có các trang mẹ khác nhau. Vì vậy, chúng tôi muốn kiểm tra xem một trang có tồn tại bằng URL không?

//example.com/audits/third-quarter-report://example.com/audits/third-quarter-report

//example.com/banking/third-quarter-report://example.com/banking/third-quarter-report

Kiểm tra xem một trang có tồn tại bằng URL không

Để tồn tại cho một trang, chúng ta có thể lập một danh sách các đường dẫn để kiểm tra

$page_paths=array(page_paths=array(

    'audits/third-quarter-report','audits/third-quarter-report',

    'banking/third-quarter-report''banking/third-quarter-report'

);;

foreach ($ page_paths as $ page_path) {($page_paths as $page_path){

    $page=get_page_by_path($page_path);$page=get_page_by_path($page_path);

    if(!$page){if(!$page){

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Không tồn tại.';echo ''.$page_path.' Does not exist.';

    }else{}else{

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Tồn tại và giải quyết để: '.get_permalink ($ page-> id).' ';echo''.$page_path.' Exists and resolves to: '.get_permalink($page->ID).'';

    }  }  

}

Hàm & nbsp; get_page_by_path () khá tiện dụng trong trường hợp như vậy để lấy một trang đưa ra đường dẫn của nó. & Nbsp; bạn cũng có thể kiểm tra & nbsp; nếu một bài đăng tùy chỉnh & nbsp; cách tương tự.

Làm thế nào tôi có thể biết nếu một trang tồn tại trong WordPress?

is_page (int | chuỗi | int [] | chuỗi [] $ page = ''): bool. Xác định xem truy vấn có dành cho một trang đơn không.: bool. Determines whether the query is for an existing single page.

Là chức năng trang trong WordPress?

is_page () - Sử dụng cơ bản mà không có bất kỳ tham số nào. Nếu được sử dụng theo cách này, chức năng sẽ kiểm tra xem bất kỳ trang nào đang được hiển thị. IS_PAGE (22) - Trong ví dụ này $ tham số trang là một số nguyên đại diện cho ID của trang. Hàm sẽ kiểm tra xem trang hiện tại được hiển thị có phải là một trang với ID = 22 không. – basic usage without any parameter. If used this way, the function will check if any page is being displayed. is_page(22) – in this example $page parameter is an integer that represents the ID of the page. The function will check if the current page that is displayed is a page with the ID = 22.

Làm cách nào để có được sên hiện tại trong WordPress?

Bạn cũng có thể sử dụng chức năng GET_POST_FIELD để lấy trang hiện tại hoặc đăng sên.Nếu bạn ở trong vòng lặp, điều này trông giống như mã sau: $ page_slug = get_post_field ('post_name');Nếu bạn ở bên ngoài vòng lặp bài, bạn sẽ cần một đối số thứ hai cho chức năng GET_POST_FIELD.use the get_post_field function to get the current page or post slug. IF you are inside the loop, this looks like the following code: $page_slug = get_post_field( 'post_name' ); If you are outside of the post loop, you will need a second argument for the get_post_field function.

WordPress có phải là một sên trang không?

Trong WordPress, sên là phần có thể chỉnh sửa của URL của một trang.Nằm ở cuối URL, sên thường chứa các từ khóa được phân tách bằng dấu gạch nối.Nó cũng có thể chứa ngày, tháng, thời gian, số nhận dạng, tên tác giả, v.v., tùy thuộc vào cấu trúc permalink của trang web.the editable part of the URL of a page. Located at the very end of a URL, the slug most often contains keywords separated by hyphens. It may also contain the day, month, time, identifying numbers, author name, and more, depending on the site's permalink structure.

Chủ đề