if ( !is_front_page() || !is_home() ){ }
$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"} );
global $post;
$categories = get_the_category();
foreach($categories as $category) {
echo $category->cat_ID;
}
global $product; //Если не объявлен ранее. Не уверен в необходимости.
global $post;
$categories = get_the_terms( $post->ID, 'product_cat' );
foreach ($categories as $category) {
echo $category->term_id; //Может быть в нескольких категориях
}
function show_posts_by_taxonomies( $atts ){
$xhtml = '';
extract( shortcode_atts( array(
'taxonomies' => '',
), $atts ) );
if ($taxonomies == '') { return; }
$taxonomies_query = new WP_Query( array(
'post_type' => array( $taxonomies ),
'posts_per_page' => -1,
));
$xhtml .= '<ul>';
while ( $taxonomies_query->have_posts() ) : $taxonomies_query->the_post();
$xhtml .= '<li>' .get_the_title( get_the_ID() ) . '</li>';
endwhile;
wp_reset_postdata();
$xhtml .= '</ul>';
return $xhtml;
}
add_shortcode( 'show_rectangle', 'show_posts_by_taxonomies' );
[show_rectangle taxonomies="my_custom_post_type"]
echo do_shortcode( '[show_rectangle taxonomies="my_custom_post_type"]' );
$terms = get_the_terms( $post->ID, 'product_cat' );
if ( $terms && !is_wp_error( $terms ) ) {
echo 'Назад: ';
foreach ( $terms as $term ) {
echo ' <a href="' . get_term_link( $term ) . '" class="posted_in" rel="' . $term->taxonomy . '"> ';
echo $term->name;
echo ' </a> ';
}
}
function custom_search_redirect() {
global $wp_rewrite;
if (!isset($wp_rewrite) || !is_object($wp_rewrite) || !$wp_rewrite->using_permalinks()) {
return;
}
$search_base = $wp_rewrite->search_base;
if (is_search() && !is_admin() && strpos($_SERVER['REQUEST_URI'], "/{$search_base}/") === false) {
wp_redirect(home_url("/docs/api/" . urlencode(get_query_var('s'))));
exit();
}
}
add_action('template_redirect', 'custom_search_redirect');
get_template_part('template_parts/main', 'header');
if ( is_front_page() || is_home() ){
// Homepage - начальная статическая страница
get_template_part('template_parts/home', 'page');
} else {
if(get_post_type() == 'post' && is_archive() && !is_author()){
//Список всех записей блога (Blog Archive)
get_template_part('template_parts/blog', 'archive');
}
if(get_post_type() == 'post' && is_single()){
//Одиночная запись блога
get_template_part('template_parts/blog', 'single');
}
//Вариантов вывода может быть множество (смотри документацию):
if(is_page() && !is_search() && !is_page_template() && !is_404()){ }
if(get_post_type() == 'my_custom_post_type_name' && is_single()){ }
if(is_404()){ }
if(is_search()){ }
if (is_archive() && is_author()){ }
if(is_page_template('my_custom_template_name.php')) { }
}
get_template_part('template_parts/main', 'footer');
if ( have_posts() ) : while ( have_posts() ) : the_post();
//В этом цикле выводим посты блога, например:
echo 'Заголовок: ' . get_the_title() . ', текст: ' . get_the_excerpt();
endwhile; else:
_e('Sorry, no posts matched your criteria.');
endif;
//Сбрасываем цикл, если будем запускать повторный цикл с другими параметрами на этой же странице:
wp_reset_query();
while (have_posts()) : the_post();
//Выводим содержание поста:
the_content();
endwhile;
function has_shortcode_func($atts){
$xhtml = '<script type="text/javascript"> jQuery(function($){
jQuery(document).ready(function(){
jQuery( ".office-accordion" ).accordion({heightStyle: "content"});
}); });</script>';
return $xhtml;
}
add_shortcode('has_shortcode', 'has_shortcode_func');
[has_shortcode]