$post_data = array(
'post_type' => 'proconnect',
'post_title' => 'testPost',
'post_status' => 'publish',
'post_author' => 1,
'tax_input' => array( 'taxonomy_name' => array( 'term', 'term2', 'term3' ) ),
);
$post_id = wp_insert_post( $post_data );
wp_insert_post()
и add_post_meta()
публикуете записи с нужными даннымиadd_action('admin_bar_menu', 'add_season_switcher_item', 100);
function add_season_switcher_item( $admin_bar ){
global $pagenow;
$admin_bar->add_menu( array( 'id'=>'season-switcher','title'=>'Season Switcher','href'=>'#' ) );
}
add_action( 'admin_footer', 'season_switcher_js' );
function season_switcher_js() { ?>
<script type="text/javascript" >
jQuery("li#wp-admin-bar-season-switcher .ab-item").on( "click", function() {
// код тут
});
</script> <?php
}
wp_enqueue_scripts
иметь туже логику подключения скриптов, которая используется при подключении разных файлов headerfunction add_theme_scripts() {
if ( is_home() || is_front_page() ) {
wp_enqueue_style( 'slyle-home', get_theme_file_uri( 'assets/css/slyle-home.min.css' ) );
} else {
wp_enqueue_style( 'slyle-page', get_theme_file_uri( 'assets/css/slyle-page.min.css' ) );
}
}
add_action( 'wp_enqueue_scripts', 'add_theme_scripts' );
return set_post_thubmnail( $post, $thumbnail_id );
if ( has_post_thumbnail() ) {
$image = get_the_post_thumbnail_url( get_the_ID(), 'large' );
} else {
$image = get_stylesheet_directory_uri() . '/assets/img/default-cover.jpg';
}
if ( is_plugin_active( 'polylang/polylang.php' ) ) {
$locale = get_locale();
$data = [
'pl_PL' => [
'text' => 'Pobierz<br>katalog',
'file' => 'price-pl.xlsx',
],
'lt_LT' => [
'text' => 'Parsisiųsti<br>katalogą',
'file' => 'price-lt.xlsx',
],
'en_US' => [
'text' => 'Download<br>catalog',
'file' => 'price-en.xlsx',
],
];
echo '<div class="catalog-file">';
echo '<a href="' . get_stylesheet_directory_uri() . '/data/' . $data[$locale]['file'] . '" download="' . $data[$locale]['file'] . '">' . $data[$locale]['text'] . '</a>';
echo '</div>';
}
if ( file_exists( $file ) && filesize( $file ) > 0 ) {
// выводим, если существует
}
register_post_type()
и register_taxonomy()
соответственно. Эта регистрация может осуществляться в теме или в плагинахif ( get_post_type() === 'service' ) { ... }
в любом месте проекта (где определены глобальные переменные)/*
Template Name: Мой шаблон страницы
Template Post Type: post, page, service
*/
echo '
<div class="swiper-slide">
<a href="#">
<div class="product-slide">
<div class="product-hearth"><svg class="product-global__hearth"><use xlink:href="img/sprite.svg#hearth-icon"></use></svg></div>
<div class="product-slide-img"><img src="img/product-img.jpg" alt="" class="product-slide__img"></div>
<div class="product-global__footer">
<p class="product-global__autor">Ольга Примаченко</p>
<h3 class="product-global__title">К себе нежно</h3>
<div class="product-global__interface">
<div class="product-global__price">790</div>
<div class="product-global__cart"><svg class="product-global__cart"><use xlink:href="img/sprite.svg#cart-icon"></use></svg></div>
</div>
</div>
</div>
</a>
</div>
';
the_title()
, the_post_thumbnail()
, the_permalink()
и т.д.wc_get_template_part( 'content', 'product' );
. Советую найти этот шаблон, разобрать и переделать ваш код по спецификации woocommerceglobal $product;
и return ob_get_clean();
из вашего кода можно смело удалить, а проверку if ( $loop->have_posts() ) { ... }
добавить get_permalink()
pre_get_users
add_action( 'pre_get_users', 'custom_pre_get_users', 1 );
function custom_pre_get_users( $query ) {
if ( is_admin() && $query->is_main_query() )
$query->set( 'orderby', 'nicename' );
}