WordPress query_posts по названию вместо page_id? - PullRequest
0 голосов
/ 30 августа 2011

Допустим, страница, которую я показываю, имеет заголовок "О программе", а идентификатор равен 49. Есть ли способ изменить ее, чтобы она вытягивала заголовок страницы вместо идентификатора.

На данный момент код, который я использую, выглядит следующим образом:

<?php
    query_posts('page_id=49');
    while (have_posts()) : the_post(); ?>
    <?php the_content();
    endwhile;
?>

Спасибо за вашу помощь!

Ответы [ 2 ]

3 голосов
/ 30 августа 2011

Я использовал нечто похожее в проекте, используя пост slug;сохраните это в вашей теме functions.php:

if ( ! function_exists( 'get_content_by_slug' ) ) :
/**
 * Get content using a slug
 *
 * @param   string
 * @return  string
 */    
function get_content_by_slug($page_slug) {
    $page = get_page_by_path($page_slug);
    if ($page) {
        $page_content = $page->post_content;
        $page_content = apply_filters('the_content', $page_content);            
        return $page_content;
    } else {
        return null;
    }
}
endif;


Использование:

<?php echo get_content_by_slug('page-slug'); ?>
3 голосов
/ 30 августа 2011

Получите ID сообщения WordPress из заголовка сообщения

Нашли это для вас.Однако вы должны быть осторожны, потому что заголовки постов и страниц могут меняться.Я уверен, что у вас есть свои причины.

РЕДАКТИРОВАТЬ

Это может быть лучше на самом деле ... http://codex.wordpress.org/Function_Reference/get_page_by_title

...