get_terms()
$args = array(
'taxonomy' => 'card_cat',
'hide_empty' => false,
);
$terms = get_terms( $args );
if ( $terms ) {
foreach ( $terms as $key => $term ) {
echo '<h2>' . $term->term_id . '</h2>';
}
}
get_the_terms()
$terms = get_the_terms( $post->ID, 'card_cat' );
if ( $terms ) {
foreach ( $terms as $key => $term ) {
echo '<h2>' . $term->term_id . '</h2>';
}
}
get_term_by()
— получает указанный термин (элемент таксономии) по заголовку, слагу или по переданному ID термина$term = get_term_by( 'slug', 'example', 'card_cat' );
if ( $term ) {
echo '<h2>' . $term->term_id . '</h2>';
}
get_terms()
— получает элементы (термины) указанной таксономии по переданным параметрам$args = array(
'taxonomy' => 'card_cat',
'slug' => array( 'example' );
'hide_empty' => false,
);
$terms = get_terms( $args );
if ( $terms ) {
foreach ( $terms as $key => $term ) {
echo '<h2>' . $term->term_id . '</h2>';
}
}
get_the_terms()
— получает элементы таксономии (термины), которые относятся к указанному посту (записи)$terms = get_the_terms( $post->ID, 'card_cat' );
if ( $terms ) {
foreach ( $terms as $key => $term ) {
echo '<h2>' . $term->term_id . '</h2>';
}
}
do_robots()
, которая создает динамический файл robots.txt. Для добавления своих правил вы можете использовать хук robots_txt
add_filter( 'robots_txt', 'add_robotstxt', -1 );
function add_robotstxt( $text ) {
$text .= "Disallow: */comments";
return $text;
}
wp_robots
add_filter( 'wp_robots', 'wpz_robots' );
function wpz_robots( $robots ) {
if ( is_archive() && is_tax( 'product_tag' ) ) {
$robots['noindex'] = true;
$robots['nofollow'] = true;
}
return $robots;
}
robots_txt
добавить тоже самое в файл robots.txtadd_filter( 'robots_txt', 'wpz_robots_txt', 20, 2 );
function wpz_robots_txt( $output, $public ) {
if ( is_archive() && is_tax( 'product_tag' ) ) {
$output .= "Disallow: /product_tag/\n";
}
return $output;
}
https://example.loc/products/?type=furniture&color=white
function get_seo_instead_title() {
$string = '';
if ( is_single() && get_post_type() === 'product' ) {
$string = get_the_title();
$params = array( 'type', 'color' );
// Добавляем в заголовок параметры get-запроса
foreach ( $params as $key => $param ) {
$var = get_query_var( $param, false );
if ( $var ) {
$string .= ', ' . $var;
}
}
// Делаем перевод
if ( determine_locale() === 'ru_RU' ) {
$converter = array(
'furniture' => 'мебель',
'white' => 'белый',
);
$string = strtr( $string, $converter );
}
}
if ( $string === '' ) {
if ( is_post_type_archive() ) {
$string = get_queried_object()->label;
} elseif ( is_archive() ) {
$string = get_queried_object()->name;
} elseif ( is_single() ) {
$string = get_the_title();
} else {
$string = 'Дефолтный заголовок (для главной)';
}
}
return $string;
}
// Define the action for register yoast_variable replacments.
function register_custom_yoast_variables() {
wpseo_register_var_replacement( '%%InsteadTitle%%', 'get_seo_instead_title', 'advanced', 'Some instead title text' );
}
add_action( 'wpseo_register_extra_replacements', 'register_custom_yoast_variables' );
function notlogin_redirect() {
if ( ! is_user_logged_in() && ! is_page( 'my-account' ) ) {
wp_safe_redirect( 'https://www.exampl.com/mysite/my-account/' );
die;
}
}
add_action( 'init', 'notlogin_redirect' );
wp_head
или вставить в какой-то шаблон, чтобы он запустилсяadd_action( 'wp_head', 'update_post_views_76' );
function update_post_views_76() {
update_post_meta( 76, '_post_views', '0' );
}
get_posts()
по документации $thumbnail_id = get_woocommerce_term_meta( $cat->term_id, 'thumbnail_id', true );
$image_url = wp_get_attachment_url( $thumbnail_id );
get_woocommerce_term_meta()
не работает, используйте get_term_meta()
вместо нее$thumbnail_id = get_term_meta( $cat->term_id, 'thumbnail_id', true );
$image_url = wp_get_attachment_url( $thumbnail_id );
determine_locale()
или get_locale()
и подключить нужный вам шрифт, например с google fontsfunction wp_enqueue_fonts() {
if ( determine_locale() === 'ru_RU' ) {
wp_enqueue_style( 'primary-font', '//fonts.googleapis.com/css2?family=Jost:wght@400;700&display=swap', array(), '1.0.0' );
} else {
wp_enqueue_style( 'primary-font', '//fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap', array(), '1.0.0' );
}
}
add_action( 'wp_enqueue_scripts', 'wp_enqueue_fonts' );
the_excerpt()
обернуть в следующую проверкуif ( ! is_home() && ! is_front_page() ) {
the_excerpt();
}
get_posts()
или wp_query()
// Задаем нужные нам критерии выборки данных из БД.
$args = array(
'post_type' => 'page',
'posts_per_page' => 5,
);
$query = new WP_Query( $args );
// Цикл.
if ( $query->have_posts() ) {
while ( $query->have_posts() ) {
$query->the_post();
the_title();
}
}
else {
// Постов не найдено.
}
// Возвращаем оригинальные данные поста. Сбрасываем $post.
wp_reset_postdata();
implode()
$query = new WP_Query( $args );
if ( $query->have_posts() ) {
while ( $query->have_posts() ) {
$query->the_post();
$classes = array();
$classes[] = 'projects__item';
if ( $categories = get_the_category() ) {
foreach ( $categories as $key => $category ) {
$classes[] = $category->slug;
}
}
echo '<li class="' . esc_attr( implode( ' ', $classes ) ) . '">' . get_the_title() . '</li>';
}
}