wp_insert_post() // вставляем запись в базу
wp_update_post() // обновляем запись в базе
get_post_meta() // получаем мета-данные
add_post_meta() // добавляем мета-данные
update_post_meta() // обновляем мета-данные
wp_set_object_term() // устанавливаем термины для записи
wp_insert_category() // вставляем термин в базу
wp_insert_post()
// Создаем массив
$post_data = array(
'post_title' => 'Заголовок записи',
'post_content' => 'Здесь должен быть контент (текст) записи.',
'post_status' => 'publish',
'post_author' => 1,
'post_category' => array(8,39)
);
// Вставляем данные в БД
$post_id = wp_insert_post( wp_slash($post_data) );
get_field($selector, [$post_id], [$format_value]);
// задаем нужные нам критерии выборки данных из БД
$args = array(
'posts_per_page' => 5,
'post_type' => 'product',
'tax_query' => array(
array(
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => 'сhristmas'
)
)
);
$query = new WP_Query( $args );
// Цикл
if ( $query->have_posts() ) {
echo '<ul class="slider">';
while ( $query->have_posts() ) {
$query->the_post();
echo '<li class="slider__item">' . get_the_title() . '</li>';
}
echo '</ul>';
} else {
// Постов не найдено
}
// Возвращаем оригинальные данные поста. Сбрасываем $post.
wp_reset_postdata();
wp_enqueue_script()
, стили - wp_enqueue_style()
$(document).ready(function(){
$('.slider').slick({
setting-name: setting-value
});
});
wp_add_inline_script()
на зависимость от основного slick-скрипта get_post_meta()
update_post_meta()
function get_seo_instead_title() {
if ( is_single() ) {
if ( get_post_type() === 'route' ) {
$roads_subtype = get_post_meta(get_the_ID(), 'subtype', true );
if ( $roads_subtype == 'bus' ) {
return 'Расписание автобусов ' . get_the_title();
} else {
return 'Расписание маршрутов ' . get_the_title();
}
}
}
}
function get_seo_before_title() {
if ( is_tax() ) {
if ( is_tax( 'routes' ) ) {
return 'Справочник маршрутов города ';
}
}
}
function get_seo_after_title() {
if ( is_single() ) {
if ( get_post_type() === 'platform' ) {
return ' — маршруты и расписание транспорта';
}
}
}
// %%BeforeTitle%% %%title%% %%AfterTitle%%
// %%BeforeTitle%% %%term_title%% %%AfterTitle%%
// define the action for register yoast_variable replacments
function register_custom_yoast_variables() {
wpseo_register_var_replacement( '%%BeforeTitle%%', 'get_seo_before_title', 'advanced', 'Some before title text' );
wpseo_register_var_replacement( '%%AfterTitle%%', 'get_seo_after_title', 'advanced', 'Some after title text' );
wpseo_register_var_replacement( '%%InsteadTitle%%', 'get_seo_instead_title', 'advanced', 'Some instead title text' );
}
// Add action
add_action('wpseo_register_extra_replacements', 'register_custom_yoast_variables');
get_the_ID()
, get_the_title()
, get_post_meta()
и т.д. Общие шаблоны находятся в соседних вкладках того скриншота, который вы показываете - Типы содержимого и Таксономии if () { ... }
<li>
, предположу, что вы хотите вывести список терминов. Соберите их в массив, запустите любой циклget_posts()
. Желательно указать post_type
. Можете указать параметр fields = ids
, чтобы запрос не был таким тяжелым__()
или _e()
. Текст должен быть написан на английском, содержать идентификатор темы, после чего его нужно перевести на нужные вам языки с помощью программы poedit или плагина loco translate<?php
$term_ids = array( 29, 30, 31 );
$taxonomy = 'project_category';
foreach ( $term_ids as $term_id ) {
if ( $term = get_term( $term_id, $taxonomy ) ) { ?>
<li class="item">
<a href="<?php echo get_term_link( $term_id, $taxonomy ); ?>" class="link">
<h4 class="title"><?php echo $term->name; ?></h4></a>
<div>
<?php
$args = array(
'post_type' => 'project',
'posts_per_page' => -1,
'tax_query' => [
[
'taxonomy' => $taxonomy,
'field' => 'id',
'terms' => $term_id
]
],
'meta_key' => 'project_year',
'meta_value' => '2020',
'fields' => 'ids'
);
if ( $project_posts = get_posts( $args ) ) { ?>
<div class="number"><?php echo count($project_posts); ?></div>
<?php } ?>
<div class="text12"><?php _e( 'Filed', 'source' ); ?></div>
</div>
</li>
<?php }
} ?>