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

    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 и заказываете

    ?

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

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Используйте функцию get_theme_file_uri()

    $image_path = get_theme_file_uri( '/assets/images/MyTheme-Header.png' );
    Ответ написан
    Комментировать
  • Почему не меняется заставка темы word press?

    YBB
    @YBB
    Возможно, потому что screenshot и screenshot.png - две большие разницы.
    Ответ написан
    1 комментарий
  • Доступность сайта: резерв вместо оригинала при проблемах?

    Придерусь сначала к терминам:
    1. Это должна быть не "копия сайта" а ровно этот же сайт на другом сервере. Aka реплика

    2. Вообще выходы из строя бывают разные

    3. Не должно быть различий "основной" и "резервный" - обе реплики должны быть равнозначны.

    Решается такое, обычно, при помощи мониторинга и балансировщика нагрузки.
    Если балансировшик видит, что одна из реплик перестала отвечать на запросы (или отвечает слишком долго), то тогда все запросы идут на вторую реплику.

    Переносить запросы на реплику только в случае сбоя - глупо, тк к тебя так простаивают мощности. Лучше всегда раскидывать нагрузку 50/50.

    Ищи по запросу L7 load balancer
    Ответ написан
    Комментировать
  • Как Узнать откуда с какого сайта перебросило на ссылку?

    @rPman
    Под ссылке никак, владелец веб сервера m.olimp.bet может смотреть по referer в логах сервера
    Ответ написан
    Комментировать
  • Не могу скачать Windows 10 в россии, как скачать?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    если нужен именно оригинальный образ windows10 и нет возможности скачать с офсайта, то можно поступить по другому, узнать хешсуму нужного iso-образа и уже по этой хешсуме найти в интернете образ.
    Для последней доступной на офсайте Windows 10 Русский SHA-256 будет:
    Русский 64-bit	2A7C440C984EB018F513901E8ED96405213D237938C410C5089C0FAC7BA01898
    Русский 32-bit	7B339135C62CB06C8EB8748922659FC36FBE1DB08C2749B036C00676455A5D00

    взято с офсайта
    Windows-10-ISO.png

    сами хеши легко яндексяца и гуглятся

    после скачивания еще раз проверяем, например:
    $ sha256sum Win10_22H2_Russian_x64v1.iso 
    2a7c440c984eb018f513901e8ed96405213d237938c410c5089c0fac7ba01898  Win10_22H2_Russian_x64v1.iso
    Ответ написан
    Комментировать
  • Возможно ли восстановить сайт?

    Sanes
    @Sanes
    Делайте новый проект. Как раз с учетом ошибок предыдущего.
    Ответ написан
    Комментировать
  • Почему не получается вытащить значение переменной из функции наружу?

    wppanda5
    @wppanda5 Куратор тега WordPress
    WordPress Mедведь
    Ваш код ломает мозг
    register - ничего не возвращает
    add - пытается отправит в акшен саму себя
    $hook_suffix не существует
    Ответ написан
    Комментировать