$working_hours = [
'1' => '10:00 — 19:00', // понедельник
'2' => '10:00 — 19:00',
'3' => '10:00 — 19:00',
'4' => '10:00 — 19:00',
'5' => '10:00 — 20:00', // пятница
'6' => '10:00 — 15:00', // суббота
'7' => __( 'Day off', 'textdomain' ) // воскресенье
];
$current_day = date( 'N' );
echo strtr( $current_day, $working_hours );
$current = absint( max( 1, get_query_var( 'paged' ) ? get_query_var( 'paged' ) : get_query_var( 'page' ) ) );
$args = [
'post_type' => 'news',
'posts_per_page' => $posts_per_page,
'paged' => $current,
];
paginate_links()
echo wp_kses_post(
paginate_links(
[
'total' => $loop->max_num_pages, // количество берем из дефолтной опции запроса
'current' => $current, // текущая страница
]
)
);
paginate_links()
можете удалить, вызывать global $wp_query
не нужноwhile ( $loop->have_posts() ) {
# code...
}
echo wp_kses_post( paginate_links() );
query_vars
свою переменную add_filter( 'query_vars', 'add_query_vars' );
function add_query_vars( $qvars ) {
$qvars[] = 'partner';
return $qvars;
}
get_query_var()
if ( $query_var = get_query_var( 'partner' ) ) {
# code...
}
add_query_arg()
$url = add_query_arg( ['partner' => $user_id], home_url( '/' ) );
pre_get_posts
, где можно изменить параметры глобального запроса аргументом ignore_sticky_posts function wpz_scripts() {
wp_enqueue_script( 'ajax-events', get_theme_file_uri( 'dist/build/ajax-events.min.js' ), array( 'jquery' ), filemtime( get_theme_file_path( '/dist/build/ajax-events.min.js' ) ) );
wp_localize_script(
'ajax-events',
'ajax_events_obj',
array(
'url' => admin_url( 'admin-ajax.php' ),
'nonce' => wp_create_nonce( 'nonce-events' ) // Создаем nonce
)
);
}
add_action( 'wp_enqueue_scripts', 'wpz_scripts' );
paginate_links()
есть фильтр paginate_links_output
, можете попробовать распарсить регулярками итоговый htmlpaginate_links()
, посмотрите и скопируйте нужные запросы в свою функцию, а вывод верстки измените на свойpaginate_links()
именно в том и заключается чтобы получить и вывести ссылки. Уж не знаю, что по вашему должно происходить по кликам на кнопки и как WP должен понять какая ссылка следующая, а какая предыдущая, но вы хотя бы в дата-атрибуты их положите is_home()
— проверяет показывается ли страница с последними постамиget_theme_file_uri()
, которую редко используют из-за кучи старых гайдов. Она ищет файл сначала в дочерней теме, если его там нет, то берет его из основнойfilemtime()
. Это нужно, чтобы браузер не кешировал измененные файлы и всегда показывал только актуальную версиюis_page()
проверяю слаги постов. Но это уже вкусовщинаfunction custom_scripts_init() {
// общие стили
wp_enqueue_style( 'common-styles', get_theme_file_uri( 'assets/css/common.min.css' ) , array(), filemtime( get_theme_file_path( '/assets/css/common.min.css' ) ) );
// общие скрипты
wp_enqueue_script( 'common-scripts', get_theme_file_uri( 'assets/js/common.min.js' ), array( 'jquery' ), filemtime( get_theme_file_path( '/assets/js/common.min.js' ) ), true );
// скрипты для страницы постов
if ( is_home() ) {
wp_enqueue_script( 'home-scripts', get_theme_file_uri( 'assets/js/home.min.js' ), array( 'jquery' ), filemtime( get_theme_file_path( '/assets/js/home.min.js' ) ), true );
}
// скрипты для массива страниц
if ( is_page( ['sample-page', 'contacts'] ) ) {
wp_enqueue_script( 'page-scripts', get_theme_file_uri( 'assets/js/page.min.js' ), array( 'jquery' ), filemtime( get_theme_file_path( '/assets/js/page.min.js' ) ), true );
}
}
add_action( 'wp_enqueue_scripts', 'custom_scripts_init' );
wp_add_inline_script()
add_action( 'wp_enqueue_scripts', 'mainfeedscripts' );
function mainfeedscripts() {
wp_enqueue_script( 'pawsScript', get_template_directory_uri() . '/assets/js/pawsScript.js', array(), '2', true );
$pawsScriptInit = '
import {THE_ANIMATION_PAWS_MODULE} from ' . get_template_directory_uri() . '/assets/js/pawsScript.js
let Number_paws = 10
let Animation_Speed = 20
let Height_Animation = 2000
let mobile = "False"
let stateBodyHeight = "True"
THE_ANIMATION_PAWS_MODULE(Number_paws, Animation_Speed, Height_Animation, mobile, stateBodyHeight)
';
wp_add_inline_script( 'pawsScript', $pawsScriptInit );
}