Задать вопрос
  • Почему шорткод в поле acf превращается в тег?

    @Ctr99ru
    ACF по умолчанию не рендерит шорткоды в поле textarea, для этого нужно применять фильтр https://www.advancedcustomfields.com/resources/acf...

    Раз у вас рендерит, значит, этот фильтр уже применен. Тогда вам нужно просто в нем добавить ограничение, чтобы в админке не рендерил. Для этого у wp есть метод is_admin()

    Весь фильтр, чтобы шорткоды из textarea обрабатывались, а в админке отображались как есть, может выглядеть так

    function process_acf_textarea( $value, $post_id, $field ) {
    
      if (is_admin()) {
        return $value;
      }
    
      return do_shortcode($value);
    
    }
    add_filter('acf/load_value/type=textarea', 'process_acf_textarea', 10, 3);
    Ответ написан
    Комментировать
  • Как запустить python скрипт на beget?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    И не получится. Это удовольствием доступно только владельцам VPS.
    Ответ написан
    Комментировать
  • Как передавать в результат формы название товара в Битрикс?

    @PetrPo
    1. В админке Настройки-->Настройки модулей-->Веб-формы надо снять галку "Использовать упрощённый режим редактирования форм", чтобы полям можно было задавать символьный код.
    2. В настройках своей веб-формы создаешь "вопрос", например "Название товара", с символьным кодом ELEMENT_NAME, добавляешь "ответ" тип поля hidden
    3. В вызов компонента веб-формы добавляешь параметр, например так
    "ELEMENT_NAME" => array(
    	"VALUE" => $arResult["NAME"],
    	"AUTOCOMPLETE" => "Y"
    )

    4. В шаблоне вывода формы где идет цикл по вопросам
    foreach ($arResult["QUESTIONS"] as $FIELD_SID => $arQuestion)
    	{

    внутрь добавляешь
    if(isset($arParams[$FIELD_SID]) && $arParams[$FIELD_SID]['VALUE'] && $arParams[$FIELD_SID]['AUTOCOMPLETE'] == 'Y') {
    	$arQuestion['HTML_CODE'] = str_replace('name=', 'value="'.$arParams[$FIELD_SID]['VALUE'].'" name=', $arQuestion['HTML_CODE']);
    }
    Ответ написан
  • Из-за чего дубли в Ajax подгрузке?

    pLavrenov
    @pLavrenov
    Разработка сайтов
    if (window.jQuery) {
        jQuery(function($){
            $('#loadmore').click(function(){
                let btn_load = $(this);
                let load_list = $('#load_list');
                let data = {
                    'action': action,
                    'query': true_posts,
                    'page' : current_page
                };
                btn_load.text('Загружаю...');
                $.ajax({
                    url:ajaxurl, // обработчик
                    data:data, // данные
                    type:'POST', // тип запроса
                    success:function(data){
                        if(data) {
                            btn_load.text('Загрузить ещё');
                            load_list.append(data);
                            current_page++;
                            if (current_page == max_pages) btn_load.remove();
                        } else {
                            btn_load.remove();
                        }
                    }
                });
            });
        });
    }


    add_action('wp_ajax_loadmore', 'load_more');
    add_action('wp_ajax_nopriv_loadmore', 'load_more');
    function load_more(){
        $args = unserialize( stripslashes( $_POST['query'] ) );
        $args['paged'] = $_POST['page'] + 1; // следующая страница
        $args['post_status'] = 'publish';
        query_posts( $args );
        if( have_posts() ) {
            while( have_posts() ): the_post();
                switch ($args['post_type']) {
                    case 'news':
                        get_template_part( 'tpl/path/news/news-list-item', get_post_format() );
                        break;
                }
    
            endwhile;
        }
        die();
    }


    <?php
    /**
     * Template Name: Страница новостей
     */
    get_header(); ?>
    
        <?php query_posts([
            'post_type' => 'news',
            'post_status' => 'publish',
            'posts_per_page' => 12,
            'orderby'     => 'date',
            'order'       => 'DESC',
        ]); ?>
    
        <div id="load_list">
            <?php if( have_posts() ){
                while( have_posts() ){ the_post();
                    get_template_part( 'tpl/path/news/news-list-item', get_post_format() );
                }
            } ?>
        </div>
    
        <?php if (  $wp_query->max_num_pages > 1 ) : ?>
            <script>
                var ajaxurl = '<?php echo site_url() ?>/wp-admin/admin-ajax.php';
                var true_posts = '<?php echo serialize($wp_query->query_vars); ?>';
                var current_page = <?php echo (get_query_var('paged')) ? get_query_var('paged') : 1; ?>;
                var max_pages = '<?php echo $wp_query->max_num_pages; ?>';
                var action = 'loadmore';
            </script>
            <div id="loadmore">Показать еще</div>
        <?php endif; ?>
    
        <?php wp_reset_query(); ?>
    
    
    <?php get_footer(); ?>
    Ответ написан
    Комментировать
  • Курсор ввода в любом месте окна браузеров?

    rus0nix
    @rus0nix
    Admin
    Видимо вы нажали клавишу F7 в Microsoft Edge.
    5b549528da25f774201802.jpeg
    Нажмите опять эту клавишу для отключения.
    Ответ написан
    20 комментариев
  • Как добавить дополнительный класс хедеру на определенных страницах?

    mahmudchon
    @mahmudchon
    <?php
    $class = '';
    if ( 'определенная страница' == true ) {
        $class = ' header_black';
    }
    ?>
    
    <div class="header<?= $class ?>">
        <!-- содержимое -->
    </div>
    
    <style>
    .header_black {
        background: #000;
    }
    </style>
    Ответ написан
    Комментировать
  • Как написать функцию с колбеком и через секунду выводить в консоль число?

    Enokin
    @Enokin
    Full-stack разработчик
    Если правильно понял, то можно так

    let timer;
    function func(n, callback) {
        if (n <= 10) {
            console.log(n);
            if (callback) {
                timer = setTimeout(() => {
                    callback(n + 1, callback);
                }, 1000);
            }
        } else {
            clearTimeout(timer);
        }
    }
    
    func(1, func);
    Ответ написан
    Комментировать
  • Как вставить переменную из шаблона в классический редактор WordPress?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    add_shortcode( 'wp_city', 'wp_city' );
    if ( ! function_exists( 'wp_city' ) ) {
    
    	/**
    	 * Add shortcode with city [wp_city city=""]
    	 *
    	 * @param array $atts shortcode attributes.
    	 *
    	 * @return string
    	 */
    	function wp_city( $atts ) {
    
    		// Define a white list of attributes.
    		$atts = shortcode_atts( array(
    			'city' => __( 'Moscow', 'default' ),
    		), $atts );
    
    		$output = '<span class="current-city">' . esc_html( $atts['city'] ) . '</span>';
    
    		return apply_filters( 'wp_city', $output );
    	}
    }
    Ответ написан
    7 комментариев
  • Как узнать, есть ли уже в массиве такой элемент?

    wapster92
    @wapster92 Куратор тега JavaScript
    const arr = [];
    
    const addObj = (obj) => {
      if(!arr.length) {
        arr.push(obj); 
        console.log(arr);
        return;
      }
      if(arr.some(n => n.width === obj.width && n.height === obj.height)) {
        console.log('Такой элемент уже существует');
      } else {
        arr.push(obj);
        console.log(arr);
      }
    }
    
    addObj({width: 5, height: 2});
    addObj({width: 1, height: 3});
    addObj({width: 5, height: 2}); // "Такой элемент уже существует"
    Ответ написан
    1 комментарий
  • Как узнать, есть ли уже в массиве такой элемент?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Проверять массив на наличие объекта надо до того, как этот объект добавлять в массив. Для этого используется
    Array.some(). Пример:
    var arr = [ {a: 5}, {a: 12}, {a: 8}, {a: 130}, {a: 44}]
    var isObjectInArr = arr.some(el => el.a === 12)
    console.log('Is object in array:', isObjectInArr)


    А если делать совсем правильно, то можно сделать, например, вот так:
    class MyObject {
        constructor(prop1, prop2) {
            this.prop1 = prop1
            this.prop2 = prop2
        }
    
        isEqual(b) {
            return MyObject.isEqual(this, b)
        }
    
        static includes(arr, a) {
            return arr.some((b) => MyObject.isEqual(a, b))
        }
    
        static isEqual(a, b) {
            return a.prop1 === b.prop1 & a.prop2 === b.prop2
        }
    }
    
    var arr = [
        new MyObject(5, 6),
        new MyObject(12, 13),
        new MyObject(8, 9),
        new MyObject(130, 131),
        new MyObject(44, 45)
    ]
    var object = new MyObject(12, 13)
    var isObjectInArr = MyObject.includes(arr, object)
    console.log('Is object in array:', isObjectInArr)
    Ответ написан
    Комментировать
  • Как в javascript добавить спиннер на время выполнения скрипта?

    @V0VA
    Добавляете перед таблицей <div class="overlayTable"></div>
    Вначале выполнения скрипта пишете
    // JavaScript program to illustrate
    			// Table sort for both columns and both directions.
    			function sortTable(n) {
    				var table;
    				table = document.getElementById("table");
    				var overlayTable = document.querySelector(".overlayTable");
    //добавляем эту строку
    				overlayTable.classList.add("working");
    //...........

    В конце, перед закрывающей фигурной скобкой
    //.......
    	//удаляем класс	
    	overlayTable.classList.remove("working");
    
    			}

    Ну а сам добавленный див оформляете как нравится для
    .overlayTable {
    //
    }
    .overlayTable.working {
    //
    }
    Ответ написан
    1 комментарий
  • Сколько ядер процессора хватит для программирования?

    saboteur_kiev
    @saboteur_kiev Куратор тега Железо
    software engineer
    Языки C# и Питон придумали тогда, когда процессор еще был одноядерным.
    Вопрос плохой, неправильный. Никто не знает что вы хотите делать и насколько для вас критично подождать компиляции секунду или 5 секунд.
    Берите удобный для работы. С приятным экраном, с приятной для ВАС клавиатурой.

    А дорогой и мощный ноут можно брать тогда, когда на него заработаешь работой на позиции разработчика, и уже будешь понимать что именно тебе нужно от ноута на этой работе.
    Ответ написан
    Комментировать
  • Замена оперативной памяти Acer Extenza 5635G?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Предположу, что на данном ископаемом стоит HDD, а значит:

    есть ли смысл делать апгрейд оперативы

    В Вашем случае, без замены на SSD - практически нет.

    какую лучше поставить

    На Вашем скрине указаны максимальные параметры оперативы: DDR3 1066Mhz / 8Gb.

    сколько и даст ли она прирост к работе

    Без замены на SSD - производительность увеличится на единицы процентов.

    UPD:
    Вы ответили:
    SSD стоит ADATA SP550


    Еще нашел Ваш коммент к ответу ниже (на Вашем скрине тоже написано dual channel):
    Свободных слотов нет их у меня два в одном 2gb во втором 4gb

    Заменяем на DDR3 1066Mhz 4Gb x2 (берем плашки памяти из одной партии), за счет двух-канала и увеличения объема памяти на 2Gb - получим увеличение производительности до 10-20% в приложениях, которые очень любят жрать оперативу (либо в общем числе приложений, которые не вмещались в объем по оперативе в 6Gb), в остальных до 5-10%.
    Ответ написан
    5 комментариев
  • Почему информация из шорткода Wordpress выводится вверху страницы?

    @vylegzhanin
    Функция должна возвращать результат,а не выводить его.
    Замени echo на return
    function promo_block($atts, $content = null) {
    extract(shortcode_atts(array(
    "img" => '',
    "description" => '',
    "title" => ''
    ), $atts));
    return '<div class="col-md-4 promo-block">
                <img src="'.get_template_directory_uri().'/img/svg/'.$img.'.svg" height="64" alt="">
                <h3>'.$title.'</h3>
                <p>'.$description.'</p>
              </div>';
    }
    add_shortcode("pb", "promo_block");
    Ответ написан
    Комментировать
  • Как сделать в телеграм боте текст который копируется при нажатии?

    yungtitanium
    @yungtitanium
    Кодер на python
    `текст`
    Ответ написан
    Комментировать
  • Как добавить класс при клике?

    @limpch
    ты не правильно используешь querySelector. Селектор класса нужно указывать с точкой в начале, вот так:
    const contact_btn = document.querySelector('#cms_contacts'); // id
    const block = document.querySelector('.block'); // class
    const sub_contacts = document.querySelector('.header_sub_cms_contacts'); //class


    У тебя из за этого не находит элемент, из за того что он ищет по тегу, и ты типа пытаешься найти
    <block></block>
    а не
    <div class="block"></div>
    Ответ написан
    3 комментария
  • Carbon Fields. Как вывести данные из кастомных полей assotiation, находящимся в complex?

    @avakulenko
    Благодарю за предоставленный код. Проблема заключается в том, что как только вы получили данные для всего complex поля, для остальных (внутренних) полей не нужно использовать функцию carbon_get_post_meta(). Ниже привожу пример работающего кода:

    if ( has_post_format('aside') ){
    	$places = carbon_get_post_meta( $post->ID, 'event_options' );
    
    	if ( $places ) {
    		foreach ( $places as $place ) {
    			$event_date = $place['event_date'];
    			$event_time = $place['event_time'];
    			$addresses = $place['event_adress'];
    			
    			foreach ( $addresses as $address ) {
    				$venue_adress = carbon_get_post_meta($address['id'], 'venue_adress');
    			}
    		}	
    	}
    }


    Надеюсь помог!
    Ответ написан
    1 комментарий
  • Почему не выводится console.log?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    У вас в фильтре указано "none" - все сообщения, которые не содержат эту подстроку, скрываются.
    Ответ написан
    1 комментарий
  • Не работают complex поля в carbon fields?

    @luk1noff
    Для получения комплексного поля в верстку убери третий параметр из функции

    $table = carbon_get_post_meta( $post->ID, 'fio' );
    Ответ написан
    Комментировать