function top_external( $atts, $shortcode_content = null ) {
$params = shortcode_atts( array(
'number' => '1',
'header' => 'Заголовок',
'map' => '',
'site' => '',
), $atts );
$html = "<div><div>$params['number']</div><h2>$params['header']</h2>";
$html .= $params['map'] ? "<a href=\"$params['map']\">Карта</a>" : ''; // если значение пустое, то не добавляем в вывод html
// или можно написать так
if ( $params['site'] ) {
$html .= "<a href=\"$params['site']\">Сайт</a>";
}
$html .= do_shortcode( $shortcode_content ) . '</div>';
return $html;
}
add_shortcode( 'top', 'top_external' );
add_filter('acf/update_value/name=my_field_name', 'my_check_for_change', 10, 3);
function my_check_for_change($value, $post_id, $field) {
$old_value = get_post_meta($post_id, 'my_field_name', true); //подставить название своего поля
if ($old_value != $value) {
// it changed (здесь ваш код для обновления полей)
}
return $value;
}
<?php
$args = array(
'post_type' => 'custom_post_type', //тут слаг типа записи
'posts_per_page' => -1,
);
$query = new WP_Query($args);
if ($query->have_posts()) {
while ($query->have_posts()) {
$query->the_post();
//шаблон вывода здесь
}
}
wp_reset_postdata();
wp_reset_query();
?>
while( have_posts() ): the_post();
$post_type = get_the_category(); //тут будет масив категорий вашого поста
get_template_part( 'template-parts/content', $post_type[0] ); //мы возмем только первою категорию
endwhile;