do_action()
— это не файл, это хук, на который можно подключить php-функцию с помощью add_action()
. Потенциально подключаемая функция может находиться в любом файле проекта, воспользуйтесь поиском по файлам, чтобы не гадатьget_queried_object()
$categories = get_categories( array( 'taxonomy' => 'work-products', 'hide_empty' => false ) );
foreach ( $categories as $key => $cat ) {
if ( get_queried_object_id() === $cat->term_id ) {
echo '<a class="active" href="' . get_category_link( $cat->term_id ) . '">' . $cat->name . '</a>';
} else {
echo '<a href="' . get_category_link( $cat->term_id ) . '">' . $cat->name . '</a>';
}
}
Максимально поверхностно касался и одного и другого
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