<main id="main" class="site-main" role="main">
<?php if ( have_posts() ) : ?>
<header class="page-header">
<?php
the_archive_title( '<h1 class="page-title">', '</h1>' );
the_archive_description( '<div class="taxonomy-description">', '</div>' );
?>
</header><!-- .page-header -->
<?php
// Start the loop.
while ( have_posts() ) :
the_post();
/*
* Include the Post-Format-specific template for the content.
* If you want to override this in a child theme, then include a file
* called content-___.php (where ___ is the Post Format name) and that
* will be used instead.
*/
get_template_part( 'template-parts/content', get_post_format() );
// End the loop.
endwhile;
// Previous/next page navigation.
the_posts_pagination(
array(
'prev_text' => __( 'Previous page', 'twentysixteen' ),
'next_text' => __( 'Next page', 'twentysixteen' ),
'before_page_number' => '<span class="meta-nav screen-reader-text">' . __( 'Page', 'twentysixteen' ) . ' </span>',
)
);
// If no content, include the "No posts found" template.
else :
get_template_part( 'template-parts/content', 'none' );
endif;
?>
</main><!-- .site-main -->
if ( isset( $_GET['id'] ) ) {
$id = $_GET['id'];
}
get_query_var()
if ( get_query_var( 'id' ) ) {
$id = get_query_var( 'id' );
}
add_filter( 'query_vars', 'add_my_var' );
function add_my_var( $public_query_vars ) {
$public_query_vars[] = 'id';
return $public_query_vars;
}
template_redirect
с помощью функции wp_redirect()
или wp_safe_redirect()
. Разбираете ссылку, проверяете необходимые условия редиректа и собираете новую ссылку. Вот шаблон:add_action( 'template_redirect', 'custom_template_redirect' );
function custom_template_redirect() {
if ( $condition ) {
wp_redirect( home_url( '/' ) );
exit();
}
}
wp_login_form()
, она выводит HTML-форму авторизации register_taxonomy()
<p class="text-decor">another text</p>
<span class="text-decor">another text</span>
p, span {
line-height: 1.25;
}
.text-decor {
position: relative;
}
.text-decor::after {
content: '';
position: absolute;
width: 100%;
max-width: 180px;
height: 50%;
bottom: 0;
left: 0;
background: red;
opacity: 1;
z-index: -1;
}
add_image_size()
в коде вашей темы или плагинаremove_image_size()
the_custom_logo()
add_filter( 'get_custom_logo', 'custom_logo_url' );
function custom_logo_url( $html ) {
if ( is_home() && is_front_page() ) {
$dir = wp_get_upload_dir();
$html = '<img class="logo-main scale-with-grid" src="' . $dir['baseurl'] . '/2021/08/logo-black.png" data-retina="" data-height="93" alt="logo-black" data-no-retina="">';
}
return $html;
}
is_single()
, is_page()
, is_archive()
, is_front_page()
и подобные, чтобы выполнить код для определенного шаблонаwp_get_upload_dir()
получает массив вариаций путей до каталога загрузокrobots_txt
. Работает это так:// Добавляем правила для файла robots.txt
add_filter( 'robots_txt', 'custom_robots_txt', 20, 2 );
function custom_robots_txt( $output, $public ) {
$output .= "Disallow: /search/\n";
$output .= "Disallow: /author/\n";
$output .= "Disallow: /users/\n";
return apply_filters( 'custom_robots_txt', $output, $public );
}
if ( $xlsx = SimpleXLSX::parse('book.xlsx') ) {
print_r( $xlsx->rows() );
} else {
echo SimpleXLSX::parseError();
}
if ( $xlsx = SimpleXLSX::parse('book.xlsx') ) {
print_r( $xlsx->rows() );
} else {
echo SimpleXLSX::parseError();
}
get_the_terms()
получает термины, относящиеся к текущей записи. Если у вас отмечены "Бесплатно" и "Государственное", то функция вернет и их. В этой функции нет аргументов, позволяющих исключить термины из выборки на момент запроса в базу$cur_terms = get_the_terms( $postID->ID, 'wpsl_store_category' );
$not_allowed = [ 'Бесплатно', 'Государственное' ];
if( is_array( $cur_terms ) ) {
foreach( $cur_terms as $cur_term ) {
if ( !in_array( $cur_term->name, $not_allowed ) ) {
echo $cur_term->name;
}
}
}
add_action( 'admin_init', 'razreshit_uchasnikam_gruzit_faili' );
function razreshit_uchasnikam_gruzit_faili() {
if ( !current_user_can( 'upload_files' ) ) :
$uchasnik = get_role( 'author' );
$uchasnik->add_cap( 'upload_files' );
endif;
}
wp_query()
НЕ НУЖНО. Если нужно изменить запрос, то делать это нужно на хуке pre_get_posts
the_posts_pagination()
и the_posts_navigation()
, я советую посмотреть любую популярную или стандартную тему twenty в качестве примера