У меня есть пользовательский тип записи, который называется business, который позволяет публиковать c представления через интерфейсную форму, созданную с использованием расширенных настраиваемых полей. Я хочу установить заголовок сообщения и слаг, используя данные из поля, называемого «места», в котором используется Библиотека мест, API Карт JavaScript (данные получены с использованием этого плагина ), чтобы получить набор поля данных , которые выводятся так:
Starbucks, 1401 Alameda Street, Лос-Анджелес, Калифорния, США, 1401 Alameda St, Лос-Анджелес, CA 90021, США, 34.0252863, -118.239711, Starbucks , https://maps.google.com/?cid=1489112590326369359, (213) 334-9270, +1 213-334-9270, 3,7, http://www.starbucks.com/store/1015759/
Я бы хотел заголовок записи должен быть [place] - [city], [state_short], поэтому в приведенном выше примере заголовок записи будет иметь значение «Starbucks - Los Angeles, CA» и фрагмент «starbucks-losangeles-ca»
Я создал шорткод, который выводит название места и адрес, но я не смог вывести из адреса только город и штат, и мне не удалось найти какой-либо способ установить название, используя эту информацию.
Вот код, который я использую для шорткода, который сейчас выводится
"Starbucks - 1401 Alameda Street, Los Angeles, CA"
function cctest_shortcode() {
$post_id = false; // current post
ob_start();
$location = get_field('place') ?>
<div class="basic-info"> <?php echo $location['name']; ?> - <?php echo $location['address']; ?>
</div>
<?php $output = ob_get_clean();
return $output;
}
add_shortcode('cctest', 'cctest_shortcode');
А вот код, который я использую для регистрации формы ACF:
// Register ACF form
add_action('acf/init', 'my_acf_form_init');
function my_acf_form_init() {
// Check function exists.
if( function_exists('acf_register_form') ) {
// Register form.
acf_register_form(array(
'id' => 'new-business',
'post_id' => 'new_post',
'new_post' => array(
'post_type' => 'businesses',
'post_status' => 'pending',
'post_title' => HELP,
),
'field_groups' => array(241),
'post_title' => false,
'post_content'=> false,
));
}
}
Любая помощь будет принята с благодарностью, я пытался заставить ее работать в течение как 2 дня: (
СПАСИБО!