$img = wp_get_attachment_image( $attachment_id, $size, $icon, $attr );
<img>
srcset, в который вы можете передать ссылки на все доступные размеры изображений. Из них браузер сможет выбрать наиболее подходящий template_redirect
add_action( 'template_redirect', 'category_redirect' );
function category_redirect() {
if ( is_category() && get_queried_object()->count == 1 ) {
global $wp_query;
if ( isset( $wp_query->posts[0]->ID ) ) {
wp_redirect( get_the_permalink( $wp_query->posts[0]->ID ) );
}
}
}
WP_Query()
, а использовать глобальный. Проще всего скопировать шаблон search.php из любой стандартной темы<?php get_header(); ?>
<section id="primary" class="content-area">
<main id="main" class="site-main" role="main">
<?php if ( have_posts() ) : ?>
<header class="page-header">
<h1 class="page-title">
<?php
/* translators: %s: The search query. */
printf( __( 'Search Results for: %s', 'twentysixteen' ), '<span>' . esc_html( get_search_query() ) . '</span>' );
?>
</h1>
</header><!-- .page-header -->
<?php
// Start the loop.
while ( have_posts() ) :
the_post();
/**
* Run the loop for the search to output the results.
* If you want to overload this in a child theme then include a file
* called content-search.php and that will be used instead.
*/
get_template_part( 'template-parts/content', 'search' );
// 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 -->
</section><!-- .content-area -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>
login_redirect
, а для получения ссылки на архивную страницу автора можно использовать функцию get_author_posts_url()
function login_redirect( $redirect_to, $request, $user ){
if ( !is_wp_error( $user ) ) {
return get_author_posts_url( $user->ID, $user->user_login );
} else {
return $redirect_to;
}
}
add_filter( 'login_redirect', 'login_redirect', 10, 3 );
wp_enqueue_script()
третьим параметром передадите зависимость от скрипта jquery, то сначала подключится он, после него ваш скриптis_paged()
add_action( 'pre_get_posts', 'limit_posts_per_home_page', 1 );
function limit_posts_per_home_page( $query ) {
if ( $query->is_category( 6 ) && !$query->is_paged() ) {
$query->set( 'posts_per_page', 6 );
}
}
wp_enqueue_style()
add_action( 'wp_enqueue_scripts', 'wpz_scripts' );
function wpz_scripts() {
// Bootstrap стили
wp_enqueue_style( 'bootstrap-styles', get_theme_file_uri( 'css/bootstrap.min.css' ) , array(), filemtime( get_theme_file_path( '/css/bootstrap.min.css' ) ) );
// Основные стили
wp_enqueue_style( 'common-styles', get_theme_file_uri( 'css/style.min.css' ) , array( 'bootstrap-styles' ), filemtime( get_theme_file_path( '/css/style.min.css' ) ) );
}
get_template_directory_uri()
<a href="#"><img src="<?php echo get_template_directory_uri(); ?>/img/facebook.png" alt=""></a>
<a href="#" class="p-2"><img src="<?php echo get_template_directory_uri(); ?>/img/instagram.png" alt=""></a>
get_users()
и посмотреть какие аргументы она принимаетget_terms()
$terms = get_terms( [
'taxonomy' => 'genres',
'hide_empty' => false,
] );
if ( $terms ) {
echo '<ul class="genres-list">';
foreach ( $terms as $key => $term ) {
echo '<li><a href="' . get_term_link( $term->term_id, $term->taxonomy ) . '">' . $term->name . '</a></li>';
}
echo '</ul>';
}
if ( is_post_type_archive( 'book' ) ) {
// ...
}
$year = 2008;
$current_year = date( 'Y' );
echo '<ul>';
while ( $year <= $current_year ) {
echo '<li><a href="' . get_year_link( $year ) . '">' . $year . '</a></li>';
$year++;
}
echo '</ul>';
$year = 2008;
$current_year = date( 'Y' );
echo '<ul>';
while ( $year <= $current_year ) {
$args = array(
'year' => $year,
'post_status' => 'publish, future, draft, pending',
'posts_per_page' => 1,
'fields' => 'ids'
);
$posts = get_posts( $args );
if ( is_array( $posts ) && !empty( $posts ) ) {
echo '<li><a href="' . get_year_link( $year ) . '">' . $year . '</a></li>';
}
$year++;
}
echo '</ul>';
$args = array(
'posts_per_page' => 1,
'order' => 'ASC'
);
$posts = get_posts( $args );
if ( $posts ) {
$year = date( 'Y', strtotime( $posts[0]->post_date ) );
}