if ( !is_front_page() || !is_home() ){ }
Попытка номер два. Предположим, что главная страница имеет в себе код выввода самой себя, а также дополнительную логику для GET запросов через AJAX:
$my_command = '';
$my_post_id = '';
if (!empty($_GET)) {
foreach ($_GET as $key => $value) {
if ( !empty($key) && !empty($value) ) {
$my_command = $key;
$my_post_id = $value;
}
}
}
//Не забудьте обезвредить все, что злоумышленники передадут в GET запрос
if ($my_command == 'get_post_content_by_id' && $my_post_id != '') {
//Здесь выводим информацию на основе полученого GET запроса, например:
$content_all = get_post($my_post_id);
$content = $content_all->post_content;
$content = apply_filters('the_content', $content);
$content = str_replace(']]>', ']]>', $content);
echo $content;
} else if ($my_command == 'get_post_excerpt_by_id' && $my_post_id != '') {
//Другой запрос
$excerpt_all = get_excerpt($my_post_id);
$excerpt = $excerpt_all->post_excerpt;
echo $excerpt;
} else {
//Если нет запроса, выводим обычное содержание страницы
get_header();
//...
get_footer();
}
Запрос:
jQuery.get( "/_my_page_url_/", { get_post_content_by_id: "123"} );
Но я бы делал как пишет далее
crazyASD: ...через wp_ajax_ и/или wp_ajax_nopriv_, как положено...