Я неоднократно пытался реализовать плагин Advanced Custom Fields (ACF) в теме Vantage (из AppThemes), но безуспешно. У меня был обширный контакт с администратором ACF по этому поводу, но, к сожалению, нам это не удалось. Посоветовал спросить здесь, может, поискать (платного) разработчика, чтобы решить эту проблему.
Хорошо, так что я пытаюсь? Я создал настраиваемую группу полей и хочу реализовать эту группу полей в форме листинга Vantage. Для этого я прочитал несколько документов, в том числе: http://www.advancedcustomfields.com/resources/tutorials/creating-a-front-end-form/. Для полноты, исходя из этого, я сделал следующее в папке темы Vantage:
- Я создал 2 группы настраиваемых полей с идентификаторами: 88 и 139.
- В Wrapper.php я добавил код:
<?php acf_form_head(); ?>
- В form -isting.php я создал 2 пользовательских хука, product_custom и product_custom2:
<?php do_action( 'product_custom' ); ?> <?php do_action( 'product_custom2' ); ?>
В fuctions.php я создал 3 функции:
add_action( 'wp_print_styles' , 'my_deregister_styles' , 100 ); function my_deregister_styles() { wp_deregister_style( 'wp-admin' ); } add_action( 'product_custom' , 'productfields' ); function productfields() { $options = array( 'field_groups' => array('post' => '88' ), 'form' => false, ); acf_form( $options ); } add_action( 'product_custom2' , 'productfields2' ); function productfields2() { $options2 = array( 'field_groups' => array('post' => '139' ), 'form' => false, ); acf_form( $options2 ); }
Это фактически заставило группу настраиваемых полей отображаться в форме списка Vantage. Однако следующие вещи продолжают идти не так:
- Обе группы полей имеют поле WYSIWYG. Однако по какой-то причине перестают работать кнопки WYSIWYG и медиа.
- Я не могу заполнить текст в первом поле WYSIWYG. Только второй работает в этом отношении.
После сохранения формы листинга никакие данные не сохраняются. По совету администратора ACF я попробовал следующее в файле acf-master / core / api.php:
// run database save first if( isset($_POST['acf_save']) ) { $txt="Hello world!"; echo $txt; die();
Однако после сохранения формы листинга строка не отображается. Таким образом, оператор if не используется ... 4. Для отображения данных во внешнем интерфейсе, как только они будут сохранены, я думаю, можно использовать кодекс WordPress по умолчанию ..
Я старался быть максимально полным;) Кто-нибудь может мне еще помочь? Платная помощь также подлежит обсуждению.
Заранее большое спасибо! Роберт