add_action( 'init', 'register_post_types' );
function register_post_types() {
register_post_type('training', [
'labels' => [
'name' => 'Тренинги', // основное название для типа записи
'singular_name' => 'Тренинг', // название для одной записи этого типа
'add_new' => 'Добавить тренинг', // для добавления новой записи
'add_new_item' => 'Добавление тренинга', // заголовка у вновь создаваемой записи в админ-панели.
'edit_item' => 'Редактирование тренинга', // для редактирования типа записи
'new_item' => 'Новый тренинг', // текст новой записи
'view_item' => 'Смотреть тренинг', // для просмотра записи этого типа.
'search_items' => 'Искать тренинг', // для поиска по этим типам записи
'not_found' => 'Не найдено', // если в результате поиска ничего не было найдено
'not_found_in_trash' => 'Не найдено в корзине', // если не было найдено в корзине
'menu_name' => 'Тренинги', // название меню
],
'menu_icon' => 'dashicons-superhero-alt',
'public' => true,
'hierarchical' => true,
'menu_position' => 5,
'supports' => ['title', 'thumbnail', 'page-attributes'],
]);
}
Show container on a specific page, identified by path or ID, for example: "parent-page/sub-page":
->show_on_page($page_path|$page_id)
Show container on all subpages of a specific page, identified by path, for example: "parent-page":
->show_on_page_children($parent_page_path)
function searchInput() {
const input = $('.search__input')
if(input.val()) {
input.addClass('filled')
} else {
input.removeClass('filled')
}
}
searchInput()
$('.search__input').on('input', function() {
searchInput()
})
<form role="search" method="get" class="search" action="domen.ru/">
<input type="text" value="Найти что-то" name="s" class="search__input filled" placeholder="Просто напишите, что ищете">
<svg width="18" height="18" class="search__icon" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.725 1.5C4.275 1.5 1.5 4.2 1.5 7.575C1.5 10.95 4.275 13.65 7.725 13.65C9 13.65 10.275 13.275 11.325 12.525L11.4 12.45L15.225 16.275C15.525 16.575 15.975 16.575 16.275 16.275C16.425 16.125 16.5 15.975 16.5 15.75C16.5 15.525 16.425 15.375 16.275 15.225L12.45 11.4L12.525 11.325C13.5 10.275 14.025 8.85 14.025 7.425C14.025 4.2 11.175 1.5 7.725 1.5ZM7.725 12.15C5.1 12.15 3 10.125 3 7.575C3 5.025 5.175 2.925 7.8 2.925C10.425 2.925 12.6 5.025 12.6 7.575C12.6 10.125 10.425 12.15 7.725 12.15Z"></path>
</svg>
</form>
adopt($project_name)
и adopt($form_subject)
add_action('wp_ajax_loadmore', 'true_load_posts');
add_action('wp_ajax_nopriv_loadmore', 'true_load_posts');
function true_load_posts(){
$args = unserialize( stripslashes( $_POST['query'] ) );
$args['paged'] = $_POST['page'] + 1;
$args['post_status'] = 'publish';
query_posts( $args );
if( have_posts() ) :
while( have_posts() ): the_post();
if( is_page_template('page-template.php') ) :
get_template_part( 'template-parts/post/content--template', get_post_format() );
else :
get_template_part( 'template-parts/post/content', get_post_format() );
endif;
endwhile;
endif;
die();
}
content
$price_query
этого цикла найти определенные посты и вывести. Логика такая:<?php if(is_page('nogti')) : ?>
Здесь несколько заголовков, выведенных по ID поста
<?php else : ?>
Здесь все заголовки
<div class="tabs-price-header">
<ul>
<?php while($price_query->have_posts()) : $price_query->the_post(); ?>
<li><button><?php echo get_the_title(); ?></button></li>
<?php endwhile; ?>
<?php wp_reset_postdata(); ?>
</ul>
</div>
<?php endif; ?>