wp_get_recent_posts()
для получения последних записей сайта. По умолчанию функция получает 10 последних записей включая черновики, запланированные и записи на модерации, это можно изменить с помощью дополнительных аргументовfunction wpb_exclude_from_main_query( $query ) {
if ( ! is_admin() && $query->is_main_query() ) {
$args = array(
'numberposts' => 1,
'post_type' => 'post',
'post_status' => 'publish',
);
$recent_posts = wp_get_recent_posts( $args );
if ( is_array( $recent_posts ) && ! empty( $recent_posts ) ) {
$exclude_ids = array();
foreach ( $recent_posts as $key => $recent_post ) {
$exclude_ids[] = $recent_post['ID'];
}
$query->set( 'post__not_in', $exclude_ids );
}
}
}
add_action( 'pre_get_posts', 'wpb_exclude_from_main_query' );
tax_query
is_home()
. Этот условный тег проверяет показывается ли страница с последними постами, зависит от настроек параметров Чтение → Показывать последние записи сайта wp_enqueue_script()
и wp_enqueue_style()
вы можете четвертым параметром передать версию файла, тем самым сообщая браузеру, что файл следует обновить, если его версия отличается от той, которую сохранил браузерfilemtime()
, которая возвращает время последнего изменения файлаfunction common_scripts() {
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 );
}
add_action( 'wp_enqueue_scripts', 'common_scripts' );
register_post_type()
вы можете указать общий аргумент public => false или publicly_queryable => false. При false записи этого типа будут недоступны во фронт-энде через обычные URL запросы и на запрос к текущему типу записи вы увидите 404 страницуregister_taxonomy()
есть точно такие же аргументы для этой механики возможно ли изначально организовать процесс так, чтобы потом не было проблем с миграцией одного или нескольких сайтов на другой хостинг?
насколько сложно мигрировать с поддомена на отдельный домен оставаясь в системе WordPress MU?
насколько трудоемким будет процесс клонирования заранее заготовленных шаблонных сайтов?
можно ли устанавливать плагины централизованно, сразу для всех сайтов?
можно ли устанавливать темы централизованно, сразу для всех сайтов?
как лучше всего создавать "точки восстановления" состояния сайтов?
add_action()
, а убираются с помощью remove_action()
remove_action( 'woocommerce_before_single_product_summary', 'woocommerce_show_product_sale_flash', 10 );
remove_action( 'woocommerce_before_single_product_summary', 'woocommerce_show_product_images', 20 );
the_posts_pagination()
работает только с глобальным циклом, возьмите рабочий пример отсюда getField_Address()
, если это возможно на хуке wp_enqueue_scripts
, то вы можете подключить ваш код с помощью wp_add_inline_script()
add_action( 'wp_enqueue_scripts', function(){
wp_enqueue_script( 'my_scripts', get_stylesheet_directory_uri() .'/my_scripts.js' );
$html_res = getField_Address($datafield_address);
// добавим произвольный код
wp_add_inline_script( 'my_scripts', $html_res[1] );
} );
wp_footer
wp_insert_attachment()
, то можете передать ID поста, к которому нужно прикрепить запись третьим параметром $parent_post_idwp_insert_attachment( $attachment, $filename, $parent_post_id, $wp_error, $fire_after_hooks );
set_post_thumbnail()
, первым параметром передаете ID записи, вторым ID медиафайлаset_post_thumbnail( $post, $thumbnail_id );
scandir()
, которая получает список файлов и каталогов, расположенных по указанному пути. Получаете файлы в указанном каталоге, выводите в нужной вам разметке по примеру$directory_uri = get_stylesheet_directory_uri() . '/data/nft/';
$directory = get_stylesheet_directory() . '/data/nft/';
echo '<div class="masonry-container">';
echo '<div class="row no-gutters masonry-gallery popup-gallery">';
foreach ( scandir( $directory ) as $key => $file_name ) {
if ( ! in_array( $file_name, ['.', '..'] ) && file_exists( $directory . $file_name ) ) {
echo '<a href="' . $directory_uri . $file_name . '" class="col-12 col-sm-6 col-lg-4 col-xl-3 masonry-item" title="#">';
echo '<img src="' . $directory_uri . $file_name . '" class="masonry-image" alt="#"/>';
echo '</a>';
}
}
echo '</div>';
echo '</div>';