Задать вопрос
  • Имеет ли смысл двухфакторная аутентификация на смартфоне?

    @psiklop
    Конечно это абсурдно. Бесит это издевательство над юзером. Когда я вхожу например в web-версию сбера и меня просит код и совсем другое дело когда я запускаю разные приложения и начинается тоже самое, я еще понимаю когда просят код с email так как для этого нужен браузер, но когда смс или google Authenticator и это после отпечатка - какой идиот это придумал ?
    Ответ написан
    4 комментария
  • Почему не делают табы радио-кнопками?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега HTML
    Семантично делать их ссылками.
    Радио-кнопки предполагают наличие формы, оборачивать табы в форму нелогично, так что вам кажется неправильно.
    Ответ написан
    5 комментариев
  • Почему не делают белые светильники без люминофора на основе RGB?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Зелёные светодиоды не добавляют, якобы зеленый не нужен для фотосинтеза, хотя есть статьи утверждающие обратное.

    Если бы зелёный нужен был бы для фотосинтеза, его не отражали бы листья в таком количестве.

    Но если бы в фитолампы добавляли зелёные светодиоды, был бы более полный спектр, уже ближе к солнечному свету, и приятен для глаз, что расширяет возможности применения фитоламп в быту.

    Прочитайте сто такое индекс цветопередачи (CRI) и как на самом деле устроено наше зрение.
    RGB-светодиоды дают три очень узких пика на гистограмме освещённости, а люминовор подбирают и смешивают так, чтобы он заполнял спектр как можно ближе к солнечному. То есть там гораздо меньше скачков и нелинейностей.

    Почему бы не сделать RGB лампу, откалибровать ее на 4500K нейтрального белого, и так же дать возможность подстройки, к примеру 3000-6000K.

    Потому что всё несколько сложнее. чем просто температура.
    80762c6160544eda9e44e2aacb210989.png

    А вот статья про это от очень крутого перца, который ведёт проект lamptest.ru. У него, кстати, есть оборудование чтобы замерять качество света от лампочек.
    Ответ написан
    6 комментариев
  • Как задать стили для динамических класов?

    yarkov
    @yarkov
    Помог ответ? Отметь решением.
    [class^="myclass"] { color: red; }

    Рабочий пример: https://codepen.io/yarkovaleksei/pen/ExMvwqb

    не знаю даже как это называется

    CSS селекторы
    Ответ написан
  • Почему выдает ошибку Apache?

    IvanU7n
    @IvanU7n
    nothing interesting here
    ошибка в том, что в VirtualHost указываются ip-адреса и/или порты, для разруливания по доменам используются как раз ServerName и ServerAlias

    т.е. не нужно пытаться запихнуть в VirtualHost доменное имя из ServerName
    Ответ написан
    Комментировать
  • Как быть, если мой сайт предназначен не на ру аудиторию?

    @Drno
    К ПД оносятся телефоны, паспортные данные

    Но, раз Ваша аудитория не в РФ - то Вам надо изучать законодательство тех стран, где будет работать сайт. И размещать его естественно НЕ в РФ.

    Впринципе - всё )
    Ответ написан
    5 комментариев
  • Где браузер хранит сведения о пользователе?

    yesbro
    @yesbro
    Думаю, помогаю думать
    1) В cookies или localStorage.

    2) Можно, но не всегда.
    Ответ написан
    5 комментариев
  • Как верифицировать вебсайт пользователя?

    yesbro
    @yesbro
    Думаю, помогаю думать
    Есть стандартные схемы для верификации прав доступа к сайту.

    1) Файл с уникальным именем.
    2) Мета-тег в хедере с уникальной строкой
    3) HTTP заголовок с уникальной сторокой.

    Код на мыло в домене сайта тоже можно, но тогда это уже будет подтверждение не прав доступа к сайту, а принадлежности к организации. Надо понимать в чем разница и устраивает ли она.

    Для соц сетей решение только одно. Надо опубликовать пост с каким-то уникальным кодом.
    Ответ написан
    Комментировать
  • Как отключить вывод стандартного метатега тайтл в wordpress?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Лучше использовать хук pre_get_document_title, который позволяет переопределить заголовок, а не полностью убить функцию

    if ( ! function_exists( 'pre_get_document_title_callback' ) ) {
    
    	/**
    	 * Function for 'pre_get_document_title' filter-hook.
    	 * 
    	 * @param string $title The document title.
    	 *
    	 * @return string
    	 */
    	function pre_get_document_title_callback( $title ) {
    
    		if ( is_home() || is_front_page() ) {
    			$title = get_field( 'home_page_title' );
    		}
    		if ( is_single() ) { 
    			$title = get_field( 'home_page_title' );
    		}
    		if ( is_category() ) { 
    			$title = get_field( 'home_page_title' );
    		}
    		if ( is_page( 16 ) ) {
    			$title = get_field( 'download_title' ); 
    		}
    		if ( is_page( 18 ) ) {
    			$title = get_field( 'faq_page_title' );
    		}
    
    		return $title;
    	}
    }
    add_filter( 'pre_get_document_title', 'pre_get_document_title_callback' );
    Ответ написан
    Комментировать
  • Как зарегистрировать register_post_types не нагружая memory size?

    IvanU7n
    @IvanU7n
    nothing interesting here
    бесконечная рекурсия: внутри register_post_types() безусловно вызывается register_post_types()
    вторая регистрация типа поста должна быть register_post_type() без s
    Ответ написан
    1 комментарий
  • Стоил ли экранировать вывод Contact Form 7?

    YBB
    @YBB
    Стоил ли экранировать вывод Contact Form 7

    Интересно, как Вы себе представляете "экранирование" html-формы, вставляемой в html страницы через шорткод?

    если злоумышленнику удастся попасть в админку сайта?

    А если еще и с правами админа, то всякие "экранирования" будут что мертвому припарки.

    IMHO не стоит тратить время и силы на ерунду.
    Ответ написан
    Комментировать
  • Как вывести записи текущего термина произвольной таксономии WordPress?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Записи текущего термина произвольной таксономии уже находятся в global $wp_query->posts, вам не нужно создавать свой собственный экземпляр запроса WP_Query()
    Ответ написан
    Комментировать
  • Как ускорить загрузку сайта?

    Fragster
    @Fragster
    помогло? отметь решением!
    картинки товаров переделать из png в jpg с качеством 80 (ну или даже меньше, надо субъективно смотреть) и оптимизацией для веба (то, что раньше называлось save for web в фотошопе), логотип сделать не в png размером 6000х4000 а в svg (отрисованный вручную, чтобы не было миллиард узлов) и размер будет сразу в пять раз меньше. иконки тоже почему-то в гигантских png.

    а так да, что-то долго делается на сервере, надо смотреть что там происходит
    Ответ написан
    1 комментарий
  • Каким образом загружается телефон при нажатии на кнопку «Показать телефон»?

    Lynn
    @Lynn
    nginx, js, css
    Он получен вместе со всеми остальными данными.
    И это очень легко узнать просто открыв инструменты разработчика.

    6578b12d8e7a5568492262.png
    Ответ написан
    1 комментарий
  • Что лучше, FreeXYZ.com или Free-XYZ.com (слитно или через черточку)?

    @rPman
    Бери оба, если путаешься с выбором ты, люди, вбивающие адрес по памяти (таких мало но они есть) будут так же ошибаться, не возьмешь ты, возьмет твой конкурент.

    Само собой на один адрес настрой редирект, кстати рекомендую не прозрачно редиректить, а на страничку где большими буквами написано, наш адрес такой то ;) и собирай статистику
    Ответ написан
    Комментировать
  • Как вывести список городов и областей на WordPress?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Для начала вам понадобится простая функция конвертации городов, а так же зарегистрировать гет-параметр на фильтре query_vars

    if ( ! function_exists( 'get_converter_wp_cities' ) ) {
    
    	/**
    	 * Return string or array with wp cities.
    	 *
    	 * @param string $control Key to get one value. Optional. Default null.
    	 *
    	 * @return string|array|false
    	 */
    	function get_converter_wp_cities( $control = null ) {
    
    		// Sanitize string (just to be safe).
    		if ( ! is_null( $control ) ) {
    			$control = get_title_slug( $control );
    		}
    
    		// Main converter array.
    		$converter = array(
    			'moscow'           => 'Москва',
    			'saint-petersburg' => 'Санкт-Петербург',
    			'novosibirsk'      => 'Новосибирск',
    		);
    
    		$converter = apply_filters( 'get_converter_wp_cities', $converter );
    
    		// Return controls.
    		if ( is_null( $control ) ) {
    			return $converter;
    		} elseif ( ! isset( $converter[ $control ] ) || empty( $converter[ $control ] ) ) {
    			return false;
    		} else {
    			return $converter[ $control ];
    		}
    	}
    }
    
    if ( ! function_exists( 'query_vars_wp_cities' ) ) {
    
    	/**
    	 * Function for 'query_vars' filter-hook.
    	 * 
    	 * @param string[] $public_query_vars The array of allowed query variable names.
    	 *
    	 * @return string[]
    	 */
    	function query_vars_wp_cities( $public_query_vars ){
    
    		$public_query_vars[] = 'city';
    
    		return $public_query_vars;
    	}
    }
    add_filter( 'query_vars', 'query_vars_wp_cities' );


    Вывести список городов вы можете простым циклом, создавая ссылки с помощью функции add_query_arg()

    echo '<ul class="city-list">';
    
    foreach ( get_converter_wp_cities() as $key => $city ) {
    	$url = add_query_arg( array( 'city' => $key ), get_home_url( '/' ) );
    
    	echo '<li class="city-list-item"><a href="' . esc_url( $url ) . '" class="link">' . esc_html( $city ) . '</a></li>';
    }
    
    echo '</ul>';


    Получить значение текущего горда из гет-параметра мы можете функцией get_query_var()

    $city = get_query_var( 'city', false );
    var_dump( $city );


    Чтобы создать записи физически, как в вашем примере, вы можете зарегистрировать тип записи и таксономии для него с помощью register_post_type() и register_taxonomy(), а создать записи wp_insert_post()

    Шорткод можете создать по этому шаблону
    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' => get_query_var( 'city', false ),
    		), $atts );
    
    		if ( $atts['city'] ) {
    			$output = '<span class="current-city">' . esc_html( get_converter_wp_cities( $atts['city'] ) ) . '</span>';
    		}
    
    		return apply_filters( 'wp_city', $output );
    	}
    }
    add_shortcode( 'wp_city', 'wp_city' );


    Большая проблема — собирать тексты и заголовки для SEO. Для создания переменных плагина Yoast можете взять этот шаблон

    function get_yoast_current_city() {
    
    	$city = get_query_var( 'city', false );
    
    	if ( $city ) {
    		$string = $city;
    	} else {
    		$string = '';
    	}
    
    	return $string;
    }
    
    
    // Define the action for register yoast_variable replacments.
    function register_custom_yoast_variables() {
    	wpseo_register_var_replacement( '%%CurrentCity%%', 'get_yoast_current_city', 'advanced', __( 'Some instead title text', 'wpgen' ) );
    }
    
    // Add action.
    add_action( 'wpseo_register_extra_replacements', 'register_custom_yoast_variables' );


    Еще одна проблема в том, что вам понадобятся склонения городов в тексте и заголовках. Для решения этой задачи я создавал большую excel-таблицу со списком и парсил ее библиотекой SimpleXLSX

    655af38fd63a6389461115.png
    Ответ написан
    2 комментария
  • Как отобразить дату как сегодня, вчера, а далее как обычно в системе указано?

    fibit
    @fibit
    full-stack developer
    Что-то вроде этого?

    function wph_human_date($hdate = '') {
        if (!is_admin()) {
            $post_date = get_the_time('d.m.Y');
            $current_date = date('d.m.Y');
    
            if ($post_date === $current_date) {
                $hdate = 'сегодня';
            } elseif ($post_date === date('d.m.Y', strtotime('-1 day', strtotime($current_date)))) {
                $hdate = 'вчера';
            } else {
                $hdate = $post_date;
            }
        }
        return $hdate;
    }
    
    add_filter('get_the_date', 'wph_human_date');
    Ответ написан
    3 комментария
  • Лучший язык для разработки веб-приложений на Andorid&IOS?

    Adamos
    @Adamos
    это все в виде приложения для телефона

    это когда приходите в заведение

    И СТАВИТЕ КАКОЕ-ТО ЛЕВОЕ, НИ РАЗУ ВАМ НЕ ВСРАВШЕЕСЯ ПРИЛОЖЕНИЕ ТОЛЬКО ДЛЯ ТОГО, ЧТОБЫ
    сканируете qr и заказываете

    ?

    В реальных Евразиях, например, в виде таких штрих-кодов сделано меню - тупо ссылка на сайт с включенной информацией о том, в каком вы заведении (и, возможно, за каким столиком, но тут уже не уверен). Никаких приложений, кроме браузера, для этого на хрен не нужно.
    Ответ написан
    Комментировать