Задать вопрос
  • Как вывести определёную рубрику?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    У вас произвольный тип постов "blog" и произвольная таксономия "blogs". Названия для продукции, конечно, странные, но суть не в этом. В ваш WP_Query необходимо добавить параметр таксономии:
    <?php
    $args = array(
        'post_type' => 'blog', 
        'posts_per_page' => 3,
        'orderby' => 'rand', 
        'tax_query' => array(
            array(
                'taxonomy' => 'blogs',
                'field' => 'slug', // slug or term_id
                'terms' => 'bob', // string/int or array of strings/ints (see below)
                // 'field' => 'term_id',
                // 'terms' => array( 12, 15, 21 ),
            ),
        ),
    );
    $blog = new WP_Query( $args );
    ?>
    
    <?php while ( $blog->have_posts() ) : $blog->the_post(); ?>
    
        <h1 class="entry-title"><?php the_title(); ?></h1>
        <div class="entry-content">
            <?php the_content(); ?>
        </div>
                
    <?php endwhile; ?>
    <?php wp_reset_postdata(); ?>

    1. 'tax_query' может фильтровать по нескольким таксономиям, поэтому принимает массив
    2. ну и каждая таксономия с ее свойствами также передается массивом
    3. термины можно передавать как по слагу, так и по ID
    4. можно передать один термин (строка для слага / число для ID) или сразу несколько (массивом строк для слага / массивом чисел для ID) - смотрите закоментированные строчки
    Ответ написан
    4 комментария
  • Где найти честного программиста на почасовую оплату?

    borisdenis
    @borisdenis
    Ленив и вреден...
    Программиста с почасовой оплатой без траты ни минуты учтенного времени на "чай" Вы никогда не найдете, на условия с тотальным контролем никто за обычную плату не согласится, только с хорошей наценкой и то маловероятно.
    Вам наверное лучше четко обговаривать сроки выполнения и отдельно оговорить что в случае превышения сроков уменьшать итоговую сумму оплаты допустим на 5% за каждый день просрочки по вине исполнителя. Ну и само собой в ТЗ должны быть оговорены все требования к продукту и используемые технологии. В случае дополнительного "хочу вот эту плюшку" с Вашей стороны срок обговаривается заново.
    Ответ написан
    4 комментария
  • Как вывести все категории [post-type] в файле archive-[post-type].php?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    $terms = get_terms( array(
        'taxonomy' => 'taxonomy_name',
        'hide_empty' => false,
    ) );
    foreach( $terms as $term ) {
        echo $term->name;
    }
    Ответ написан
    1 комментарий
  • Как сделать чтобы можно было изменять с админики WP парметры в WP_Query{}?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Добавить опцию Settings API. В коде опцию считать и подставить в параметры. И да, приучитесь параметры передавать массивом, удобнее же:
    $args = array(
        'showposts' => get_option( 'popular_posts_num' ),
        'meta_key' => 'post_views_count',
        'orderby' => 'meta_value_num',
        'cat' => 2,
    );
    $populargb = new WP_Query( $args );

    Собственно, добавление опции:
    function custom_query_settings() {
    
    	// Секция настроек
    	add_settings_section(
    		'custom_query_settings_section',
    		'Custom query settings section description',
    		'custom_query_settings_section_callback',
    		'reading' // В какой раздел настроек добавляем ("Чтение")
    	);
    
    	// Поле с настройкой
    	add_settings_field(
    		'popular_posts_num',
    		'Custom option name',
    		'custom_query_settings_callback',
    		'reading',
    		'custom_query_settings_section'
    	);
    
    	// Регистрируем опцию, чтобы WP ее видел
    	register_setting( 'reading', 'popular_posts_num' );
    
    }
    add_action( 'admin_init', 'custom_query_settings' );
    
    // Коллбек для секции (выводит описание секции)
    function custom_query_settings_section_callback() {
    	echo '<p>Intro text for our settings section</p>';
    }
    
    // Коллбек для настройки (выводит поле для ввода в админке)
    function custom_query_settings_callback() {
    	echo '<input name="popular_posts_num" id="popular_posts_num" type="number" value="' . get_option( 'popular_posts_num' ) . '" class="small-text" step="1" min="1">';
    }
    Ответ написан
    2 комментария
  • Как сделать русский в адресной строке в выдаче яндекс и гугл?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    микро-разметка: JSON-LD + breadcrumbs
    Проверка структурированных данных: здесь
    Ответ написан
    Комментировать
  • Где лучше всего брать (или покупать) шаблоны для Wordpress?

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    Лучше всего здесь:
    https://themeforest.net/category/wordpress
    - большой выбор
    - хорошая модерация тем
    Ответ написан
    Комментировать
  • Как в Wordpress, в случае когда есть контент в посте, превьюшки таких постов выводить в одном стиле, а в случае когда в посте нет ничего другие стили?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Ответ Ksider верный. но это мелкая проверка, ее можно тернарником записать, и точно не стоит в переменную $content запихивать, память не резиновая.
    <div class="<?php echo ( get_the_content() ) ? 'full' : 'empty'; ?>">
    ...
    </div>
    Ответ написан
    2 комментария
  • Как не выводить блок с пустым значением?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    <?php if ( get_field( 'air_conditioning' ) ) : ?>
        <li class="field-li">
            <span>Вентиляция и кондиционирование: <?php the_field( 'air_conditioning' ); ?></span>
        </li>
    <?php endif; ?>
    Ответ написан
    Комментировать
  • Как сделать разное краткое описание у статей для разных рубрик на Wordpress?

    Вам нужно воспользоваться функцией in_category() внутри цикла вывода статей. В функцию можно передавать название, ID или slug категории.
    Например:
    if ( in_category( 'category_1' )) {
    	// Пост с категорией 1
    }
    elseif ( in_category('category_2') )) {
    	// пост для категории 2
    }
    else {
    	// другие категории
    }
    Ответ написан
    1 комментарий
  • Visual Composer, Норм ли воспринимает страницу с его кодом поисковик?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Поисковикам все равно, как вы генерите разметку, важна сама разметка. Как делает VC - надо смотреть. Есть же само ядро этого плагина и его родные виджеты, есть дополнения, которые могут выдавать немного другой код, и есть еще сама тема, в которую это все выплевывается.
    Ответ написан
    Комментировать
  • Id поста вылез во frontend, в чем причина?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Уберите echo $cateID;
    Ответ написан
    Комментировать
  • Как сортировать по мета полям в которых записаны сериализованные данные?

    Сериализуйте каждое значение из массива, и записывайте все это дело в несколько правил. Будет как-то так.
    'meta_query' => array(
    	'relation' => 'AND',
    	array(
    			'key' => 'mode', 
    			'value' => 'Ежедневно' /* это просто строка и сама по себе работает*/
    	),
    	array(
    		'relation' => 'OR',
    		array(
    			'key'     => 'options',
    			'value'   => serialize('Детская стоматология'),
    			'compare' => 'LIKE',
    		),
    		array(
    			'key'     => 'options',
    			'value'   => serialize('Рентген'),
    			'compare' => 'LIKE',
    		),
    	),
    ),
    Ответ написан
  • Сколько стоит работа?

    opium
    @opium
    Просто люблю качественно работать
    Определитесь с ценой за час
    Например тысяча рублей за час
    Умножьте потраченное время на ставку
    Ответ написан
    5 комментариев
  • Как вывести на страницу размер загруженного и прикреплённого к посту файла?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    В ACF поле указывайте тип возвращаемых данных, чтобы прилетал массив, в котором будет ID аттачмента. Сам аттачмент будет иметь метаданные, запись с ключом _wp_attached_file, содержащая относительный путь к файлу. Добавьте к нему путь в папке загрузок, и используйте обычный filesize(). Это чтоб вы понимали что, как и где хранится.
    // Путь к папке загрузок, абсолютный
    $upload_dir = wp_upload_dir();
    $upload_path = $upload_dir['basedir'];
    
    // Сам файл и его относительный путь
    $file = get_field('file');
    $file_path = get_post_meta( $file['ID'], '_wp_attached_file', true );
    
    echo filesize( $upload_path . '/' . $file_path );

    Но это долго и нудно :) У WordPress, как обычно, есть все что надо.
    $file = get_field('file');
    echo filesize( get_attached_file( $file['ID'] ) );
    Ответ написан
  • Почему в американских лендингах нет телефонов, как точек захвата?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Потому что в Америке принято продавать продукт, а не впаривать говно.
    Именно поэтому принято, чтобы продукт говорил сам за себя.

    Пользователю нафиг не нужен телефон, чтобы начать использовать продукт. В большинстве случаев нужен email, чтобы получить ссылку на авторизацию и начать работу с продуктом. В США большая часть населения умеет пользоваться Интернетом, компьютером и в состоянии ввести номер кредитки для оплаты продукта/услуги онлайн.
    В России есть специфика - IT-имбецилы, которые не умеют пользоваться компьютером, поэтому им нужно звонить и говорить, на какую кнопку надо нажать и как оплатить. Аналогичная ситуация в Китае, у этих дебилов вообще практически везде авторизация завязана на номер телефона.

    Есть еще один момент, телефонный звонок крайне навязчив, фактически посягательство на личное время и часто неуместен. Лично я провожу в некоторые дни до 60% своего времени на совещаниях. Мне некогда выслушивать и кому-то звонить. А вот email я могу быстренько просмотреть.

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

    kumaxim
    @kumaxim
    Web-программист
    Пример №1
    Вы являйтесь ИП в юрисдикции РФ. Ваш подрядчик тоже ИП в РФ.
    Что делать: подписывайте договор на оказание услуги, например, Вы платите 5 т.р. за разработку дизайна.
    Расходы: пересылка конверта с документами в адрес Вашего подрядчика, который будет рисовать дизайн
    Налоги: нет

    Пример №2
    Вы являйтесь ИП в юрисдикции РФ. Ваш подрядчик физическое лицо в РФ.
    Что делать: подписывается гражданко-правовой договор(часто Вы можете встретить сокращение ГПХ - гражданско-правового характера). Он будет точно таким же как договор между ИП, только в качестве исполнителя в нем указано физ.лицо.
    Первое что необходимо помнить при оформлении договора подряда с физ.лицом - коные договора должен быть четко определен, например, "...Исполнитель обязазуется нарисовать Заказчику дизайн-макет сайта кулинарной тематики и предоставить его до 25.10.2016". Ни в коем случае не должно быть указано выполнение какие-либо переодических действий, например, "...Исполнитель обязуется выполнять работы по разработке дизайн-макетов сайтов, в течении 10 дней с момента поступления запроса от Заказчика..." Это уже будет являться трудовым договором, а это уже отдельная тема.
    Расходы: пересылка договора подрядчику + пересылка отчетов в ФНС и ПФР
    Условие: Пусть 5 000 рублей это сумма, за которую работает Ваш подрядчик.
    Налоги:
    1. 13% - налог на доходы физ.лиц
    2. 22% - взнос в Пенсионный фонд
    3. 5,1% - взнос в фонд Обязательного мед.страхования

    Расчет:
    1. 5 000 - 13% = 4350 - столько получит на карточку Ваш исполнитель
    2. 5 000 - 87% = 650 - это 13% НДФЛ
    3. 5 000 + 22% = 1100 - в Пенсионный фонд
    4. 5 000 + 5.1% = 255 - на медицину
    Итог: Ваш подрядчик получает 4350 рублей. Бюджет РФ получает с этого 1975 рублей. Суммарно Вы заплатите 6325 рублей
    Отчеты: в Пенсионный фонд(если не ошибаюсь форма РСВ-1) и в ФНС. В ПФР отчет должен быть отправлен в конце месяца, хотя могу ошибаться. Для наемных сотрудников на трудовом договоре РСВ-1 точно ежемесячно предоставляется. Для людей на договорах подряда точно не скажу, спрашивайте в своем ПФР. В ФНС отчет раз в год до 01.04 должен быть предоставлен.

    Пример №3
    Вы являйтесь ИП в юрисдикции РФ. Ваш подрядчик физическое лицо вне юрисдикции РФ
    Что делать: ежайте в эту самую другую юрисдикцию, открывайте там филиал/представительство и работаете по законам той страны. Деньги сначала со своего ИП кидайте на представительство, а потом с него уже Вашим наемным людям. И да, еще Вас ждет с распростертыми объятиями валютный контроль банка и ФНС внешние операцияии с аффилированными иностранными компаниями любит под микроскопом рассматривать.
    Налоги: не знаю, сильно зависит от страны назначения.

    Пример №4
    Вы являйтесь ИП в юрисдикции РФ. Ваш подрядчик ИП/юр.лицо вне юрисдикции РФ
    Что делать: идти в банк и узнавать что такое валютный контроль, что надо заполнять, сколько это идет и т.д. Точно нужен будет счет в иностранной валюте. Вроде бы, но могу ошибаться, еще нужно будет регистрироваться на таможне, даже если Вы физически через границу ничего перемещать не собирайтесь(тут могу ошибаться).

    Вывод.

    Оцените объем работы, которую Вы хотите сами аутсорсить и либо найдите веб-студию, которой будите аутсорсить и получать от них все документы либо возьмите себе в штат человека, который будет все это делать.
    Ответ написан
    1 комментарий
  • Прокручиваемый Pop-up и без прокрутки задних элементов?

    @maxnrg33
    верстальщик
    использую magnific popup
    Ответ написан
    Комментировать