Задать вопрос
  • Как вставить произвольный код для отдельной страницы в WordPress?

    zorca
    @zorca Куратор тега WordPress
    Просто сделайте кастомный шаблон страницы
    Ответ написан
    Комментировать
  • Upwork заблокировали аккаунт, что делать?

    vicodin
    @vicodin
    Имею некоторый опыт
    Если есть диплом близкий к специальности, выдающийся профиль на linkedin, сертификаты близкие по специальности - отправляйте все в тех.поддержку с просьбой дать второй шанс и никогда больше не отправляйте пропосалы копипастом.

    Если ничего такого нет и объективно бан - справедливый - подкачайте скиллы и найдите себе другую площадку, Upwork популярен, но на нём мир клином не сошелся. Начать поиски можно тут - https://github.com/lukasz-madon/awesome-remote-job...

    Успехов!
    Ответ написан
    3 комментария
  • WordPress. Как с помощью wp_enqueue_script() подключить скрипт Bootstrap 4 с атрибутом integrity?

    irtek
    @irtek
    Wordpress-addicted
    Есть хук для строковой замены выводимой строки подключения скрипта.
    Вот такой код для functions.php
    function add_integrity_attribute($tag, $script_handle) {
    // Если подключаемый скрипт не бутстрап, то возвращаем как обычно
        if ( $script_handle !== "bootstrap" ) {
            return $tag;
    } else {
    // Если бутстрап, то заменяем в строке <script .... "src на src с нашим атрибутом
        return str_replace( ' src', ' integrity="sha384-alpBpkh1PFOepccYVYDB4do5UnbKysX5WZXm3XxPqe5iKTfUKjNkCk9SaVuEZflJ" src', $tag );
    }
    }
    add_filter('script_loader_tag', 'add_integrity_attribute', 10, 2);


    Скрипт нужно подключать с handle = bootstrpap, т.е.
    wp_enquee_script('bootstrap', ..... ); Или измените на любой другой, только не забудьте изменить в функции подстановки атрибута.
    Ответ написан
    1 комментарий
  • Можно ли отключить jq от определённой страницы в wordpress?

    irtek
    @irtek
    Wordpress-addicted
    У вас чья-то готовая тема? Смотря как подключен jquery.
    Есть функции, которые отключают регистрацию скрипта jquery в Wordpress

    Эти функции отменят регистрацию скрипта jquery (функции вставляются в файл functions.php темы)
    wp_deregister_script( 'jquery' );
    wp_deregister_script( 'jquery-core' );


    Есть функция, которая регистрирует скрипт jquery в Wordpress (НО НЕ ПОДКЛЮЧАЕТ). также вставляется в functions.php
    wp_register_script('jquery', 'URL скрипта', false, null, true );


    И есть функция, которая ПОДКЛЮЧАЕТ скрипт
    wp_enqueue_script('jquery', 'URL скрипта', false, null, true );


    Таким образом вы можете, во первых функциями deregister отменить текущее подключение и скрипт jquery, командой wp_register_script зарегистрировать скрипт, а затем подключать где нужно простой командой
    wp_enqueue_script('jquery'); там где нужно.

    1. Вы можете подключить скрипт на нужной странице добавив
    wp_enqueue_script('jquery');  // если ранее jquery был зарегистрирован или напрямую функцией
    wp_enqueue_script('jquery', 'URL скрипта', false, null, true );

    Функции вставлять ДО в шапке get_header();

    Вы также можете настроить подключение в functions.php конструкцией ниже. Обращаю внимание, что команда определения страницы is_page() не работает в functions php, поэтому можно добавить через функцию, повесив ее на хук. В рамках этой функции будет работать условная команда определения на какой странице включать jquery, а на какой нет.

    add_action('wp_enqueue_scripts', 'toster_q_479898', 99);
    function toster_q_479898() {
    if(is_page('about') {
    	wp_enqueue_script('jquery', 'URL скрипта', false, null, true );
    }
    }
    Ответ написан
    Комментировать
  • Можно ли в своём портфолио указать работы сделанные по заказу веб-студии?

    vicodin
    @vicodin
    Имею некоторый опыт
    Ну если работа полностью сделана вами, и НДА вы не подписывали, то почему бы и нет, это же просто демонстрация вашего уровня работы.
    Еще лучше просто указать - работал в такой-то студии с такого-то по такой-то год, принимал участие в разработке таких-то сайтов, делал то-то и то-то
    Ответ написан
    2 комментария
  • Скажите надо ли что то делать с этими файлами в плане SEO?

    @archelon
    Закройте их в robots.txt
    Ответ написан
    Комментировать
  • Как связать Atom и Bitbucket?

    iiiBird
    @iiiBird
    Пока ты спишь - твой конкурент совершенствуется
    есть плагин для atom - git-plus https://atom.io/packages/git-plus
    Ответ написан
    Комментировать
  • Какие знания необходимы для написания ОС?

    Jump
    @Jump
    Системный администратор со стажем.
    В дополнение к озвученному необходимо -
    • Четкое понимание принципов работы компьютера.
    • Понимание - что такое ОС и для чего она нужна, и какие они вообще бывают.
    • Понимание - какую именно ОС и для чего вы хотите написать.
    • Понимание основных принципов работы современных ОС.
    Ответ написан
    Комментировать
  • Как реализация вкладки на сайте?

    Тут скорее не вкладки, а фильтрация контента.
    В вашем примере реализована она на серверной стороне - при клике делается ajax-запрос и заменяться контент.
    Тут базовый алгоритм простой - отслеживаем через JS клик по "вкладке", делаем нужный ajax-запрос на сервер, потом заменяем старый контент на полученный в ответе на запрос. Ну и обвешиваем доп. плюшками, типа подсветки активного пункта меню (вкладки), спиннеры при загрузке и прочее.

    Небольшие списки контента можно фильтровать и на клиентской стороне, есть разные js-плагины, к примеру вот:
    https://www.kunkalabs.com/mixitup/
    Ответ написан
    1 комментарий
  • Как записать путь до темы в WP?

    @kayart
    Для вывода ссылок на какие-то изображения лучше воспользоваться функцией wp_get_attachment_image_src( $attachment_id )

    Более подробно про неё можно прочитать на Kama

    Такой подход позволит избавиться от привязке к какой-то конкретной теме или адресу, а будет напрямую обращаться к изображению по его уникальному ID-идентификатору, который вряд ли будет меняться модератором сайта или контент-менеджером.

    Если же для вас важно обращаться напрямую к директории темы, то предлагаю воспользоваться функцией get_template_directory(), которая получает полный путь к папке вашей активной темы. Как всегда, более подробно о ней можно почитать на Kama
    Ответ написан
    Комментировать
  • Что по вашему опыту должен знать js программист уровня middle?

    Maksclub
    @Maksclub Куратор тега Карьера в IT
    maksfedorov.ru
    Как оценивают — известно шуту гороховому...

    Знать должен то же, что и сеньор — разница, что последний натаскивает команду или разрабатывает уже саму технологию, а не на технологии (но это мое суждение).

    Если по рынку — смотрел множество вакансий. Middle — полноценное ядро, специалист, в совершенстве знающий свой инструмент, свободно работающий с окружающим основной стек софтом... Должен знать множество тонкостей. Обычно это 2-4 года опыта, за это время достаточно крепко знает всю ширину языка. Должен хорошо знать работу браузера, если касательно js. За плечами несколько сложных проектов. Как правило должен с легкостью видеть плюсы и минусы разных фреймов ( в том числе не совсем модных, например ExtJS)
    Ответ написан
    1 комментарий
  • Что за предупреждение вылазит в админке wordpress?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Эти константы должны содержать корректный URL, а не /. Не изобретайте странные велосипеды. Данные константы используются для генерации полных абсолютных URL с корректными путями.
    Ответ написан
  • Есть ли какие то аналоги speedtest для своего сайта в сети, где нет интернета?

    @cssman
    самое простое - собрать простой костыльный скрипт на основе iperf.
    Ответ написан
  • Куда выкладывать портфолио с примерами верстки для работодателей?

    Astrohas
    @Astrohas
    Python/Django Developer
    Github Pages
    Ответ написан
    Комментировать
  • Как сделать AJAX запрос безопасным?

    @cluberr
    Защита: используем nonce и проверяем права

    Нет острой необходимости проверять AJAX запрос, если он потенциально не опасный. Например, когда он просто получает какие-то данные. Но когда запрос удаляет или обновляет данные, то его просто необходимо дополнительно защитить с помощью nonce кода и проверкой прав доступа.

    Разработчики часто ленятся ставить такую защиту, получая самый неожиданный результат. Недобросовестные пользователи могут каким-либо образом заставить юзера с правами сделать то что им нужно и в итоге навредить сайту над которым вы работали долгие месяцы, годы.

    Существует два вида защиты, которые нужно использовать в AJAX запросах в большинстве случаев.

    1. Код nonce (случайный код)

    Nonce - это уникальная строка, которая создается и используется один раз - одноразовое число. Nonce проверка используется, когда нужно убедится, что запрос был послан с указанного «места».

    В WordPress есть функции wp_create_nonce() и check_ajax_referer() - это базовые функции для создания и последующей проверки nonce кода. С их помощью мы и будем создавать защиту nonce для AJAX запросов.

    Для начала создадим nonce код:

    add_action( 'wp_enqueue_scripts', 'myajax_data', 99 );
    function myajax_data(){
    
    	wp_localize_script('twentyfifteen-script', 'myajax', 
    		array(
    			'url' => admin_url('admin-ajax.php'),
    			'nonce' => wp_create_nonce('myajax-nonce')
    		)
    	);  
    
    }

    twentyfifteen-script это название основного скрипта темы (см. выше), который подключается на сайте с помощью wp_enqueue_script().

    Затем, в AJAX запросе добавим переменную с кодом nonce:

    var ajaxdata = {
    	action     : 'myajax-submit',
    	nonce_code : myajax.nonce
    };
    jQuery.post( myajax.url, ajaxdata, function( response ) {
    	alert( response );
    });

    Теперь, в обработке заброса необходимо проверить nonce код:

    add_action( 'wp_ajax_nopriv_myajax-submit', 'myajax_submit' );
    add_action( 'wp_ajax_myajax-submit', 'myajax_submit' );
    function myajax_submit(){
    	// проверяем nonce код, если проверка не пройдена прерываем обработку
    	check_ajax_referer( 'myajax-nonce', 'nonce_code' );
    	// или так
    	if( ! wp_verify_nonce( $_POST['nonce_code'], 'myajax-nonce' ) ) die( 'Stop!');
    
    	// обрабатываем данные и возвращаем
    	echo 'Возвращаемые данные';
    
    	// не забываем завершать PHP
    	wp_die();
    }

    check_ajax_referer()работает на основе функции wp_verify_nonce() и по сути является её оберткой для AJAX запросов.
    Обратите внимание, что в данном случае Nonce код создается в HTML коде. А это значит, если у вас установлен плагин страничного кэширования, то этот код может и наверняка будет устаревать к моменту очередного AJAX запроса.
    2. Проверка прав доступа

    Тут AJAX запросы будут срабатывать только для пользователей с правом author. Для всех остальных включая неавторизованных пользователей, AJAX запрос вернет ошибку.

    Особенность тут в том, что не авторизованные пользователи тоже должны видеть сообщение об ошибке при AJAX запросе. Для этого нужно обрабатывать запрос для них возвратом ошибки:

    add_action( 'wp_ajax_nopriv_myajax-submit', 'myajax_submit' );
    add_action( 'wp_ajax_myajax-submit', 'myajax_submit' );
    function myajax_submit(){
    	// проверяем nonce код, если проверка не пройдена прерываем обработку
    	check_ajax_referer( 'myajax-nonce', 'nonce_code' );
    
    	// текущий пользователь имеет права автора или выше
    	if( ! current_user_can('publish_posts') )
    		die('Этот запрос доступен пользователям с правом автора или выше.')
    
    	// Делаем что нужно и выводим данные на экран, чтобы вернуть их скрипту
    
    	// Не забываем выходить
    	wp_die();
    }
    Ответ написан
    2 комментария
  • Как придать нормальный вид разметке меню, которое выдаёт wordpress?

    zorca
    @zorca Куратор тега WordPress
    Вам нужно переписать вывод менюшки через Walker. Берите готовый пример: https://github.com/roikles/Wordpress-Bem-Menu и переделывайте по себя.
    Ответ написан
    Комментировать
  • Tittle Wordpress?

    zorca
    @zorca Куратор тега WordPress
    Ответ написан
    Комментировать
  • Где найти эти методы и свойства?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    +1 к ответу Max Medar, дополнительно - используйте полноценный IDE (например, PhpStorm). Иногда достаточно просто начать вводить логичное название функции, чтобы убедиться, что она внезапно существует:

    59f5cc2062599968188840.jpeg

    Ну и да, главный источник знаний - код ядра WP. Открываете и изучаете, пофайлово, или помодульно. Или как удобнее.
    Ответ написан
    Комментировать