$ page = get_page_by_title CONTAINS

Apenas me perguntando como buscar uma página usando ‘title contains’. Posso recuperar uma página usando o seguinte

 

mas como eu posso fazer ‘o título da página contém “Pubs”‘?

obrigado

Solutions Collecting From Web of "$ page = get_page_by_title CONTAINS"

Você deve criar uma consulta usando a class de database do WordPress. Coloque isso em seu arquivo functions.php

 function get_page_by_title_search($string){ global $wpdb; $title = esc_sql($string); if(!$title) return; $page = $wpdb->get_results(" SELECT * FROM $wpdb->posts WHERE post_title LIKE '%$title%' AND post_type = 'page' AND post_status = 'publish' LIMIT 1 "); return $page; } 

Use isso em seu tema:

 $page = get_page_by_title_search('Foo Bar'); echo $page->page_title; echo $page->page_content; //etc... 

Isso funciona muito bem para mim. Gostaria de ouvir comentários sobre melhores maneiras de fazê-lo. Obrigado!

 // Get all pages $my_pages = get_pages(); // Get ID's of pages with "string" in title foreach ($my_pages as $my_page) { if ( stristr($my_page->post_title, 'string') ) { $include_ids .= $my_page->ID . ','; } } // Output only pages with "string" in the title $args = array( 'include' => $include_ids, ); wp_list_pages( $args );