• Как запустить игры со своего пк на андроид (стриминг)?

    @Rylezzz
    Я перепробовал разные варианты стриминга и облачного гейминга и вот, на чём остановился:
    1. Steam Link, как и писали выше. Самый в целом безгеморный и более стабильный, чем вариант ниже, способ. Универсален, минут через 15-20 уже почти не замечаешь косяков трансляции. Плюс - режим Big picture под геймпад
    2. AMD Link. Из названия - соответственно только для красных карт. Юзал год назад на rx580 4gb. Качество картинки (год назад) чаще было лучше, чем через Стим, но нестабильно и в целом не очень удобно
    3. Moonlight - фича для карт Nvidia. По отзывам картинка хорошая, но на своей 2060 ещё не пробовал

    Геймпад от Xbox One/Series коннектится к Андроиде по ВТ за 10 секунд без каких-либо проблем

    Странно конечно, что не нашли ответ, хотя гугл сразу выдаёт основные варианты.
    Ответ написан
    Комментировать
  • WooCommerce - как в/shop заменить ссылку на товар на ссылку из атрибутов?

    @Rylezzz Автор вопроса
    Да, детка!
    Я понимаю, что для многих пользователей это детский лепет, но для меня это победа))

    Как я реализовал задуманное.

    ВАЖНО! сохраняйте оригиналы всех изменяемых файлов. А ещё лучше - сделайте на всякий случай бэкап на хостинге

    Вывод данных в мини-карточке в магазине /shop производится посредством хуков (hook) в файле content-product.php темы.
    Оригинальный content-product.php
    <?php
    
    if ( ! defined( 'ABSPATH' ) ) {
    	exit; // Exit if accessed directly
    }
    
    global $product, $woocommerce_loop;
    
    // Ensure visibility
    if ( empty( $product ) || ! $product->is_visible() ) {
    	return;
    }
    
    // Store column count for displaying the grid
    if ( empty( $woocommerce_loop['columns'] ) ) {
    	$woocommerce_loop['columns'] = apply_filters( 'loop_shop_columns', 3 );
    }
    
    // Extra post classes
    $classes = array();
    if ($woocommerce_loop['columns'] == 2) {
    	$classes[] = 'col-md-6';
    }elseif($woocommerce_loop['columns'] == 4){
    	$classes[] = 'col-md-3';
    }elseif($woocommerce_loop['columns'] == 6){
    	$classes[] = 'col-md-2';
    }else{
    	$classes[] = 'col-md-4';
    }
    ?>
    <div <?php post_class( $classes ); ?>>
    <div class="product-item">
    	<?php
    	/**
    	 * woocommerce_before_shop_loop_item hook.
    	 *
    	 * @hooked woocommerce_template_loop_product_link_open - 10
    	 */
    	do_action( 'woocommerce_before_shop_loop_item' );
    	?>
    	<b><a href="<?php the_permalink(); ?>" class="products-warp"></b>
    	<?php
    	/**
    	 * woocommerce_before_shop_loop_item_title hook.
    	 *
    	 * @hooked woocommerce_template_loop_product_thumbnail - 10
    	 * @hooked woocommerce_show_product_loop_sale_flash - 10
    	 */
    	do_action( 'woocommerce_before_shop_loop_item_title' );
    	?>
    	<b></a></b>
    	<div class="product-info">
    	<b><a href="<?php the_permalink(); ?>"></b>
    		<?php
    			/**
    			 * woocommerce_shop_loop_item_title hook.
    			 *
    			 * @hooked woocommerce_template_loop_product_title - 10
    			 */
    			do_action( 'woocommerce_shop_loop_item_title' );
    		?>
    	<b></a></b>
    	<?php
    	/**
    	 * woocommerce_after_shop_loop_item_title hook.
    	 *
    	 * @hooked woocommerce_template_loop_rating - 5
    	 * @hooked woocommerce_template_loop_price - 10
    	 */
    	<b>do_action( 'woocommerce_after_shop_loop_item_title' );</b>
    
    	/**
    	 * woocommerce_after_shop_loop_item hook.
    	 *
    	 * @hooked woocommerce_template_loop_product_link_close - 5
    	 * @hooked woocommerce_template_loop_add_to_cart - 10
    	 */
    	<b>do_action( 'woocommerce_after_shop_loop_item' );</b>
    	?>
    	</div>
    </div>
    </div>

    Первым делом я убрал ссылки с <?php the_permalink(); ?>, т. к. карточка товара не нужна совсем. Да, изящнее было бы разобраться и заменить на функцию, выводящую нужные мне ссылки, но времени на это, увы, нет.

    Далее - убрал do_action( 'woocommerce_after_shop_loop_item_title' ); и do_action( 'woocommerce_after_shop_loop_item' ); , т. к. рейтинг, цена и кнопка "В корзину" мне опять же не нужны.

    Ссылки на сайты фабрик я разместил в short description соответственно в каждом товаре в виде
    <a href="http://www.ararredamenti.it/" rel="noopener" target="_blank">www.ararredamenti.it</a>
    (Excel в помощь). Соответственно теперь нужно добавить хук, который выводил бы нам short description.

    Для этого в файле /wp-content/plugins/woocommerce/includes/wc-template-hooks.php добавляем
    /**
     * Ссылки на фабрики в /shop.
     */
    add_action( 'woocommerce_brands_link', 'woocommerce_template_single_excerpt', 10 );

    Вот эту штуку - 'woocommerce_template_single_excerpt', я подглядел в шаблоне карточки товара content-single-product.php темы - заметил, что это часть хука, выводящая информацию по товару.

    Далее добавляем этот хук в content-product.php темы после хука заголовка товара, в итоге получилось вот так:
    Изменённый content-product.php
    <?php
    
    if ( ! defined( 'ABSPATH' ) ) {
    	exit; // Exit if accessed directly
    }
    
    global $product, $woocommerce_loop;
    
    // Ensure visibility
    if ( empty( $product ) || ! $product->is_visible() ) {
    	return;
    }
    
    // Store column count for displaying the grid
    if ( empty( $woocommerce_loop['columns'] ) ) {
    	$woocommerce_loop['columns'] = apply_filters( 'loop_shop_columns', 3 );
    }
    
    // Extra post classes
    $classes = array();
    if ($woocommerce_loop['columns'] == 2) {
    	$classes[] = 'col-md-6';
    }elseif($woocommerce_loop['columns'] == 4){
    	$classes[] = 'col-md-3';
    }elseif($woocommerce_loop['columns'] == 6){
    	$classes[] = 'col-md-2';
    }else{
    	$classes[] = 'col-md-4';
    }
    ?>
    <div <?php post_class( $classes ); ?>>
    <div class="product-item">
    	<?php
    	/**
    	 * woocommerce_before_shop_loop_item hook.
    	 *
    	 * @hooked woocommerce_template_loop_product_link_open - 10
    	 */
    	do_action( 'woocommerce_before_shop_loop_item' );
    	?>
    
    	<?php
    	/**
    	 * woocommerce_before_shop_loop_item_title hook.
    	 *
    	 * @hooked woocommerce_template_loop_product_thumbnail - 10
    	 * @hooked woocommerce_show_product_loop_sale_flash - 10
    	 */
    	do_action( 'woocommerce_before_shop_loop_item_title' );
    	?>
    
    	<div class="product-info">
    		<?php
    			/**
    			 * woocommerce_shop_loop_item_title hook.
    			 *
    			 * @hooked woocommerce_template_loop_product_title - 10
    			 */
    			do_action( 'woocommerce_shop_loop_item_title' );
    			do_action( 'woocommerce_brands_link' );
    		?>
    	<?php
    
    	?>
    	</div>
    </div>
    </div>

    В итоге - то, что нужно
    Скрин результата
    5c373da3449f0917367287.png

    Знаю, что реализация далека от the best. С php знаком только на уровне вот такого редкого ковыряния тем и плагинов. В силу этого ни в коем случае не претендую на экспертное мнение. Надеюсь, будет полезно тем, кто так же, как и я, искал способ решения такой задачи, т. к. теперь могу сразу добавить 300 фабрик на сайт импортом из Excel
    Ответ написан
    1 комментарий
  • Как правильно сделать клон сайта и жизнеспособно ли это вообще?

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

    Видел несколько раз по историям выдачи сайтов, как конкуренты создавали полную копию сайта клиента на другом домене (найдено путём проверки уникальности текста) и этот сайт в течение 3-5 месяцев рухнул в позициях.

    Вариант один - создавать второй абсолютно новый уникальный сайт.
    Ответ написан
    Комментировать