• Как сделать в помощью ACF Flexible content подобие конструктора страниц?

    AntonLitvinenko
    @AntonLitvinenko Автор вопроса
    HTML coder
    Для себя вопрос пока что решил таким образом
    Создал темплейт страницы для этого дела
    <?php 
    
    get_header(); 
    
    /*
    Template Name: Page Builder
    */
    
    ?>
    
    <?php if ( have_rows( 'builder_layout' ) ) : ?>
    
    	<?php while ( have_rows( 'builder_layout' ) ) : the_row(); ?>
    
    		<?php $layout = get_row_layout(); ?>
    
    		<?php get_template_part( "template-parts/builder-blocks/$layout" ); ?>
    
    	<?php endwhile; ?>
    
    <?php else: ?>
    
    		<h2><?php _e('No layout found parent', 'ajat') ?></h2>
    
    <?php endif; ?>
    
    
    <?php get_footer(); ?>

    В папке builder-blocks у меня пять файлов, полная ширина, одна колонка, две колонки, три колонки и 4 колонки.
    Вот например код файла на 2 колонки, остальные по аналогии
    <section class="section">
    	<div class="container">
    
    		<div class="row">
    
    			<div class="col-md-6">
    				<div class="content">
    					<?php if ( have_rows( 'column_1_page_layout' ) ) : ?>
    
    						<?php while ( have_rows( 'column_1_page_layout' ) ) : the_row(); ?>
    
    							<?php $layout = get_row_layout(); ?>
    
    								<?php get_template_part( "template-parts/acf-blocks/$layout" ); ?>
    
    						<?php endwhile; ?>
    
    					<?php else: ?>
    
    						<h2><?php _e('No layout found', 'ajat') ?></h2>
    
    					<?php endif; ?>
    				</div>
    			</div>
    
    			<div class="col-md-6">
    				<div class="content">
    					<?php if ( have_rows( 'column_2_page_layout' ) ) : ?>
    
    						<?php while ( have_rows( 'column_2_page_layout' ) ) : the_row(); ?>
    
    							<?php $layout = get_row_layout(); ?>
    
    								<?php get_template_part( "template-parts/acf-blocks/$layout" ); ?>
    
    						<?php endwhile; ?>
    
    					<?php else: ?>
    
    						<h2><?php _e('No layout found', 'ajat') ?></h2>
    
    					<?php endif; ?>
    				</div>
    			</div>
    
    		</div>
    	</div>
    </section>

    Тут у меня в каждой колонке уже выводятся темплейты из другой папки acf-blocks, это как раз те кусочки кода, например иконка + текст, просто текст, текст + изображение итд.
    Для каждого блока создана группа полей.

    Главная группа полей для билдера builder_layout. Это гибкое содержимое.
    В нем 5 блоков соответственно одной колонке, двум, трем итд, вот скриншот места с двумя колонками
    5fa3c04f46509011229880.png
    Можно заметить кое-какие поля которых нет в стандарте, в частности деление на колонки, это замечательный плагин ACF Extended.
    Далее два скриншота для колонок, обратите внимание, должен быть включен префикс для названий.
    5fa3c1223cdc2920434016.png
    5fa3c1339e645818585464.png
    Тут могут возникнуть вопросы.
    Изначально Это код из рабочего проекта и там сделаны блоки, которые я собрал в гибком содержании Layouts, собственно, для того чтобы вывести все блоки мне достаточно сделать тип поля клон и выбрать туда все поля группы полей layouts. Но можно и по отдельности накидать в зависимости от ширины колонок. Главная идея это использования типа поля КЛОН.
    Вот как-то так
    Ответ написан
    Комментировать
  • Как отобразить фоновое видео на iphone ios safari?

    PiRmanAtE
    @PiRmanAtE
    Фронт-енд разработчик
    Возможно кому нибудь пригодится.
    Решил проблему добавлением атрибута playsinline
    <video preload="metadata" muted="muted" autoplay playsinline loop></video>
    Ответ написан
    Комментировать
  • Почему не работает форма поиска в Wordpress?

    bingumd
    @bingumd
    ...
    <form class="form-wrapper cf" method="get" action="<?php echo esc_url( home_url( '/' ) ); ?>/">
    	<input id="s" type="search" name="s" placeholder="Введите здесь слово, которое нужно найти..." value="<?php echo esc_attr( get_search_query() ); ?>" />
      <button type="submit">Искать</button>
    </form>
    Ответ написан
    3 комментария
  • Как получить данные отправляемые из Contact Form 7?

    artemky
    @artemky
    Ловите событие перед отправкой сообщения:
    <?
    add_action('wpcf7_before_send_mail', 'save_form' );
     
    function save_form( $wpcf7 ) {
       global $wpdb;
     
       /*
        Note: since version 3.9 Contact Form 7 has removed $wpcf7->posted_data
        and now we use an API to get the posted data.
       */
     
       $submission = WPCF7_Submission::get_instance();
     
       if ( $submission ) {
     
           $submited = array();
           $submited['title'] = $wpcf7->title();
           $submited['posted_data'] = $submission->get_posted_data();
     
        }
     
         $data = array(
       		'name'  => $submited['posted_data']['name'],
       		'email' => $submited['posted_data']['email']
    	);
    }

    Источник: wptips.me/contact-form-7-save-submited-data-in-the...
    Ответ написан
    1 комментарий
  • Как узнать id категории находясь в ней вне цикла?

    @mr_ko
    Javascript, Node.js. React.js, Vue.js, Wordpress
    Буквально на днях искал. В шаблоне taxonomy-product_cat.php получаю таким путем.
    $category = get_queried_object()->term_id
    Ответ написан
    2 комментария
  • Как подключить wordpress функции к стороннему php файлу?

    parschakov
    @parschakov Автор вопроса
    Начинающий изучать PHP и JS
    require __DIR__ . '/wp-load.php';
    Ответ написан
    Комментировать
  • Избавиться от margin-top: 36px !important; в Вордпресс?

    serovpochta
    @serovpochta Автор вопроса
    Лысый
    Короче, добавил в верстку в тег html class="любое_имя"

    а в стилях, удлинив путь к имени класса:
    html.любое_имя {
        margin: 0 !important;
    }
    Ответ написан
    1 комментарий
  • Кнопка изменения размера шрифта в статье Wordpress?

    Kozack
    @Kozack Куратор тега WordPress
    Thinking about a11y
    Вариант чуть попроще
    jQuery(document).on('click', '.класс-кнопки', function() { 
        jQuery('.content').css('font-size', '18px');
      } );
    Ответ написан
    Комментировать
  • Как передать значение переменной между файлами шаблона на wordpress?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    UPDATE 2020:

    Для будущих поколений: начиная с версии WordPress 5.5.0 функция get_template_part() поддерживает третий параметр array $args. Подробнее в официальном посте.

    Оригинальный ответ:

    +1 к ответу, Капитан Какао. Впрочем, я использую все-таки стандартный get_template_part() для удобства, а переменные передаю через другое API - query_vars:
    // В файле из которого вызываем
    set_query_var( 'my_var', $my_var );
    get_template_part( 'content', 'part' );
    
    // В вызванном файле
    echo $my_var;

    Почему так? Для очевидности, в этом случае ты наглядно понимаешь что передаешь в темплейт.
    Ответ написан
    2 комментария