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

    deniscopro
    @deniscopro Куратор тега WordPress
    WordPress-разработчик, denisco.pro
    get_queried_object();
    или
    get_queried_object_id();
    если нужен только ID рубрики.

    https://wp-kama.ru/function/get_queried_object
    https://wp-kama.ru/function/get_queried_object_id
    Ответ написан
    Комментировать
  • Как при отсутствии thumbnails в записи, выводить thumbnail заглушку?

    1 - плагином https://wordpress.org/plugins/default-featured-image/
    2 - руками в шаблоне - примерно так проверкой на наличие has_post_thumbnail()
    <?php 
    if(has_post_thumbnail()) {
        the_post_thumbnail();
    } else {
        echo '<img src="' . get_bloginfo("template_url") . '/images/img-default.png" />';
    }
    ?>
    Ответ написан
    Комментировать
  • Какие best practice разработки с WordPress для новичка?

    OtshelnikFm
    @OtshelnikFm Куратор тега WordPress
    Обо мне расскажет yawncato.com
    В этой теме хорошие ответы Как проходит разработка на Wordpress? от меня, Игоря и Дмитрия

    Ну а что лучше WordPress, GIT, шторм - дело вкуса.

    У меня более 100 разработок под вордпресс. В основном это аддоны для WP-Recall. Продаю их на codeseller

    Нет локального сервера. Dev сервер на хостинге, закрыт для всех, открыт один IP. На лето уехал на дачу с ноутом - подключился к хостингу и работаю. В случае локальной разработки как было бы дело? Держать включенным ПК когда меня нет в квартире - не вариант. Держать 2 сервера на ПК и на ноуте - мне не подходит. Я часто работаю удаленно из разных мест - и для меня вариант сервера разработки у хостера - идеальный.

    Да - я не пишу тесты, не было надобности.

    Использую NetBeans - который сейчас вдруг ожил и начал снова развиваться. В нем меня на данный момент всё устраивает. Были попытки перейти на VSCode - но пришел к пониманию что возиться с его настройкой и тысячами плагинами - так себе затея. Не настроил в нем удаленную синхронизацию - бросил затею с ним.

    Использовал битбакет для закрытых проектов, но сейчас их переношу на гитхаб. Они открыли опцию скрытия приватных репозиториев для обычного аккаунта. Зачем мне PRO-аккаунт когда я в основном работаю один или в паре.

    Query monitor - как помощник для разработки

    По поводу говнокода...
    Когда ООП, но чаще процедурный стиль. Когда проект вырастает и обрастает - рефакторинг в ООП. Да - лично я начинать писать в ООП стиле не буду - т.к. часто нет понимания что там и как. Зато накидывается каркас быстро. Потом уже понимаешь нужен там ООП или нет.
    IDE форматирует все по сохранению. Мы максимально близко WPCS использовали, хотя есть некоторые отступления от него.

    DocBlock - кто-то использует, кто-то нет. Код сам расскажет лучше о том что он делает :) - но тс... я вам этого не говорил

    Кто-то скажет "Парень - вот ты вредных советов надавал и это пример как делать не надо". Я обрисовал свою ситуацию. Многие проекты я поддерживаю уже 4-ре года (собственно тогда и ушел из офиса на удалёнку и ниразу не пожалел. С самоорганизацией у меня проблем нет. Надо работать - работаю). Проблем мне это не создает, да и другим вроде тоже. Зачем усложнять жизнь если реальных потребностей не было? Применять или не применять что-то - зависит от здравого смысла. Зачем тратить время на автотесты - когда проект простой. когда у тебя < 10000 строк кода - тоже не вижу смысла в docBlock или автотестах. Не пинайте сильно тапками - но жизнь говорит - нужно делать все быстро, а еще отдыхать надо, семья и дети. Жизнь одна и ее не должен поглощать код и сопутствующие заморочки с окружением... А документацию и тестирование в одну репу тянуть тяжко.

    Короче - не усложняйте или 20/80
    Ответ написан
    Комментировать
  • Как настроить показ страницы конфиденциальности в WP?

    @Lord_Dantes
    1. Удалите код из редактора страницы. Это для текста, а не для кода.
    2. Создайте шаблон страницы и туда вставьте ваш код.
    3. Подключите шаблон к странице и редактируйте все в шаблоне.

    пс у вас нету вывода контента ибо то что вы написали это контент, а у вас нету такой "базовой" страницы page.php
    Ответ написан
    Комментировать
  • Какие best practice разработки с WordPress для новичка?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Во-первых, прекратите спамить всех подряд, такой подход не очень продуктивен.

    Во-вторых, у вас не вопрос. Вопрос - это как правило одна (иди хотя бы одна главная) проблема, которую можно решить одним ответом. Как правило не очень объемным, потому что S из SOLID, как мы знаем, это Single Responsibility Principle. Ваш вопрос его нарушает чуть более чем полностью. Из этого следует, что вам нужно разбить ваш вопрос на множество других. И задавать их желательно по порядку, получая ответы, применяя их в жизни, практикуясь, и только потом переходя далее. Ибо влить в мозг весь этот объем информации за раз можно только в фильме "Матрица", а мы, увы, не там.

    Тезисно пройдусь по пунктам, чтобы прояснить ситуацию.

    Хочу изучить новые инструменты и вообще понять что есть best practice в мире wp сейчас!

    Не существует единой best practice. Есть разные подходы, каждый из них имеет плюсы, минусы и право на жизнь. Все очень сильно зависит от команды, ее размера и опыта, компании и процессов, клиента, проекта, его размера и бюджета и тд. Ну а общие принципы мало отличаются от разработки в целом, будь то Symfony, Laravel, Ruby on Rails и тд.

    Я нашел много интересного, но пока не понимаю как это всё собрать воедино, что зачем нужно, много непонимания

    Это нормально. Почему - перечитайте абзац про Single Responsibility Principle выше.

    1. среду разработки использую PhpStorm, по университетской лицензии.

    Несущественно. PhpStorm отличная IDE, пожалуй лучшая для разработки на PHP в целом, WP или нет - не важно (сам использую именно ее). Но далеко не все могут использовать ее бесплатно по университетской лицензии, многие покупать не хотят, многим не нравится производительность. Стандарт ли это? Для кого как.

    2. для версий кода использую Git, храню локально и на Gitlab.

    Git - это наиболее популярная VCS на данный момент. Само использование системы контроля версий является стандартом, во всем мире разработки.

    3. при разработке пушу через SSH сразу на shared хостинг, а не на локальный сервер (никогда локальным не пользовался, а надо? каким?)

    Использование локального сервера - стандарт. Обязательно, не обсуждается. Пушить на shared - плохая практика (и пушить на прод, и shared). Изучаем про локальные сервера, Continuous Integration и Continuous Delivery. Впрочем, для WP важно понимать, что бОльшая часть проектов будет простая и небольшая, со скромным бюджетом, а там вся эта кухня может быть лишней (смотрим абзац про зависимость best practices от проекта и тд). Поэтому обычного простого деплоя по мерджу в мастер хватит. Гугл в помощь.

    4. работаю под Linux, знаком с консолью, bash, но не понимаю как использовать wp-cli, в чем он удобен?

    WP-CLI это инструмент. Использовать его - хорошо. Чем удобен / полезен поймете когда разберетесь с деплоями, автоматизацией и тд. Но не поймете если не начнете заставлять себя с ним работать.

    5. присматриваюсь к Roots и Bedrock, но не понимаю как к ним подступиться, нужно объяснение что и зачем делать, какие-то инструкции..

    Рано. Очень рано вам к ним присматриваться.

    6. хочу начать использовать composer

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

    7. хочу начать писать тесты, PHPUnit?

    Если бы спрашивали за Laravel, то да. Но по WP - забудьте. Думать про тесты в WP вам рано и не нужно. Голову сломаете. Да и проекты, где это понадобится вам пока не светят.

    Сейчас как-то грустно, что wp любят поносить за его "легкий вход", "говнокод", "это не программирование" и т.д.

    Это не только сейчас и не только про WP. Добро пожаловать в прекрасный мир разработки, где каждый второй с радостью обосрёт инструмент, о котором мало что знает или потому что ему лично он не подходит / не нравится. Вырабатывайте свое личное мнение. WP сам по себе лишь инструмент. Хороший или плохой - не важно. Он решает определенные задачи, и делает это лучше / быстрее / дешевле / проще других.

    Как всё это собрать вместе?

    Постепенно. Шаг за шагом. Слона нужно есть по частям, иначе подавитесь.

    Прошу подробных ответов, по возможности со ссылками и/или инструкциями.

    Это придется накатать книгу, и не одну.

    Хочу учиться.

    Достойное желание. Учитесь, никто не мешает. Гугл, кодекс, кама и другие ресурсы в помощь.

    Бонус: запомните одну простую истину - вы не сможете что-то изучить или освоить, если не начнете с ним работать. Только на реальной практике можно понять и осознать. Можно прочитать 10 лучших книг про ООП (для примера), но пока вы не напишете, выбросите, перепишете несколько раз свой код на ООП, вы его не поймете.
    Ответ написан
    Комментировать
  • Как найти и удалить JS код на WordPress?

    AItF4
    @AItF4
    Помог ответ? Отметь решением.
    airbor, я бы просто скачал сайт в папку на компьютер и через поиск текста по нескольким файлам в блокноте Notepad++ нашел и удалил этот код.
    Ответ написан
    Комментировать
  • Программное решение для упорядочивания жизни?

    Robur
    @Robur
    Знаю больше чем это необходимо
    часть информации в итоге забывается

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

    а жизнь кажется хаотичной,

    Потому что у вас каша в голове из всей той ненужной информации которую вы туда пытаетесь запихнуть.

    Тоже когда-то искал средство "упорядочить всю эту информацию" пока не понял два момента:
    1) "потенциально полезной" информации в мире предельно много, не хватит тысяч лет чтобы это просто прочитать. Каждую секунду создается еще больше.
    2) знание этой информации никак не меняет мою жизнь к лучшему, а попытки её узнать и запомнить - вполне конкретно ухудшают.

    Учитесь фильтровать по принципу "а как я собираюсь это применить?". не "вообще" а именно я, именно её и в какие конкретно даты?
    Останется только действительно нужное и вот это вы уже сможете упорядочить.
    Ответ написан
    6 комментариев
  • Можно ли запустить php приложение на хостинге для сайта?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    цены на VPS от 49 руб в месяц.
    Вам жалко 200-300 рублей на тестовый период ?
    Ответ написан
    Комментировать
  • Можно ли запустить php приложение на хостинге для сайта?

    @McBernar
    Камон, сейчас чашка кофе стоит дороже, чем месяц vps.
    Ответ написан
    4 комментария
  • Wordpress. Как "обвести страницы в рамку"?

    anatoly_kulikov
    @anatoly_kulikov
    Помог ответ? Отметь решением!
    Тут с программированием ничего общего нет, только вёрстка - html + css. Нужно найти класс, который назначен на блок с контентом, затем найти его в файлах стилей (обычно style.css, но это не точно), и там уже прописать либо бордеры, либо тень - что будет лучше выглядеть. Опционально, внутренние (padding) и внешние (margin) отступы.
    Ответ написан
    Комментировать
  • Как принимать оплаты на PayPal через сайт на WordPress?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Здравствуйте!

    Если мне память не изменяет, то для возможности принимать оплату paypal вам нужно иметь бизнес аккаунт. (обычный аккаунт не подойдет).

    Дальше стоит учесть следующим момент - какого рода оплату вы хотите принимать. Например, если вы продаете товар или услугу, то наверняка используете плагин Woocommerce. Соответственно, наберите в гугл Woocommerce Paypal Payment Gateway и найдете кучу плагинов. Установите и проверьте. Также обычно, требуется ввод токена и т.д.
    Вот, пример -
    https://ru.wordpress.org/plugins/woocommerce-paypa...
    https://woocommerce.com/products/woocommerce-gatew...

    Если у вас не интернет-магазин, то стоит посмотреть на плагины, которые умеют выставлять счет на имя пользователя для оплаты услуги.
    Вот, пример - https://wordpress.org/plugins/invoicing/

    Ну а если у вас какая-то узкоспециализированная задача, то возможно, стоит заказать разработку плагина (платежного шлюза PayPal)
    Ответ написан
    Комментировать
  • Как ускорить Wordpress для г. Уфа?

    OrlovEvgenii
    @OrlovEvgenii
    golang developer / DevOps
    настрой нормально кэш на картинки и assets. Кэшируй страницы на стороне nginx что-бы не рендерить одну и ту же страницу для каждого пользователя отдельно, nginx будет просто выплевывать готовый html минуя wp.
    Нет никакого смысла переносить сайт в Уфу, максимум сколько ты выиграешь это несколько миллисекунд.
    Ответ написан
    2 комментария
  • Как генерировать название/адрес изображения?

    dimasmagadan
    @dimasmagadan
    function so_3261107_hash_filename( $filename ) {
    	$info = pathinfo( $filename );
    	$ext  = empty( $info['extension'] ) ? '' : '.' . $info['extension'];
    	$name = basename( $filename, $ext );
    
    	return md5( $name . time() ) . $ext;
    }
    add_filter( 'sanitize_file_name', 'so_3261107_hash_filename', 10 );
    Ответ написан
    3 комментария
  • Как свернуть категории в url (woocommerce)?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Добрый день!

    Я знаю, что есть плагин - https://wordpress.org/plugins/woo-permalink-manager/
    для перезаписи урл вукомерц

    Поставить галочку "Не показывать родительский урл"
    https://screenshots.firefox.com/CwkIrVFWw3TlwPJa/w...
    Ответ написан
    1 комментарий
  • Как убрать 'category' из url без плагинов и не через htaccess?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Не советую этого делать, ничем хорошим это обычно не заканчивается. Уже сто раз тут на Тостере спрашивали, делали вопреки рекоммендациям этого не делать, а потом жаловались что что-то не так работает.

    Смотрите в сторону custom post types.

    Если вам нужно разделить записи и новости, то я бы делал стандартные записи (posts) новостями, для этого создал страницу со слагом news, назначил ее как страницу записей, а пермалинки переименовал бы в /news/%postname%/. После этого все новости у вас станут доступны по адресу /news/слаг-конкретной-новости/, а архив всех новостей - /news/. А вот записи (если нужно их использовать для чего-то другого) надо делать как custom post type, со своей произвольной структурой. Либо наоборот, для новостей создаете custom post type, а записи оставляете для чего-то еще.
    Ответ написан
    Комментировать
  • Почему не проходит заказ на woocommerce, и просит ввести адрес для продолжения?

    @balaknegor
    А вот так это делается руками.
    в functions.php пишем:

    add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );
      
    function custom_override_checkout_fields( $fields ) {
      unset($fields['billing']['billing_country']);  //удаляем! тут хранится значение страны оплаты
      unset($fields['shipping']['shipping_country']); ////удаляем! тут хранится значение страны доставки
     
      return $fields;
    }
    Ответ написан
    2 комментария
  • Как решить проблему пагинации в кастомном типе постов?

    Т.к. Вы не приложили код своей страницы, ловите полностью работающий код для страницы, на которой выводятся CPT постранично.

    Пагинацию рекомендую делать плагином\своей функцией wp_pagenavi;

    $paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1;
    $args = array(
    	'post_type' => array( 'products' ),
    	'post_status' => array( 'publish' ),
    	'nopaging' => false,
    	'posts_per_page' => 6,
    	'paged' => $paged,
    );
    
    $wp_query = new WP_Query( $args );
    if ( $wp_query->have_posts() ) : while ( $wp_query->have_posts() ) : $wp_query->the_post();
    echo 'тут делаем все, что нам надо с product';
    endwhile;
    wp_pagenavi(); // подключаем плагин wp_pagenavi или пишем свою функцию
    endif; 
    wp_reset_query();
    wp_reset_postdata();
    Ответ написан
    Комментировать
  • Почасовая работа: уволить фрилансера или оставить и провести разъяснительные беседы?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    А с чего вы взяли, что вам лучше знать, как ему продуктивнее работать? У меня есть кодер, который колбасит свою работу и параллельно смотрит сериалы в оригинале на английском - учит язык. У него в углу экрана поверх всего маленькое окошко с видео. На скорость и качество его работы вообще никак не влияет. Ему так комфортно. С чего я должен ему что-то запрещать? Кто-то параллельно с работой будет слушать музыку. Кто-то на планшете какую-то игрулю будет проверять каждые 30 минут - вы этого всего не отследите, да и зачем? Не надо драконить людей, вы что, рабовладелец?

    UPD: По большому счету, вот эти ваши придирки и разборки как раз и снижают продуктивность. Вы сами себе вредите. Как правильно коллеги пишут - гнать в шею такого заказчика :)
    Ответ написан
    5 комментариев
  • Как получить язык (используя wpml) сохраняемого поста (в хуке save_post) wp?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Вместо локали попробуйте значения одной из констант WPML:

    ICL_LANGUAGE_CODE
    ICL_LANGUAGE_NAME
    ICL_LANGUAGE_NAME_EN

    Первая (код языка) думаю как раз то, что вам надо для проверок.
    Ответ написан