• Какой есть плагин для уведомления об ошибках в тексте?

    r3n0
    @r3n0
    // _ AppSec // Bug Bounty / Legal Hacking
    Привет.

    Есть вот такой плагин - Webmaster Spelling Notifications - он хоть и заброшен автором, но устарел не очень сильно, да и сам по себе плагин минимальный. Из консоли сайта установить его можно.

    Mistape - хоть плагин и "закрыли" из-за обнаруженной (но не раскрытой) уязвимости, скачать файлы всё равно можно. Только не нужно.

    Error Notification - не обновлялся 10 лет, так что тут тоже всё ясно.

    Ну или вот так попробуйте.
    Ответ написан
    2 комментария
  • Как лучше хранить данные в БД WordPress и выполнять экспорт/импорт в файл?

    wfantastic
    @wfantastic
    увлечен wordpress
    Для вашего случая, я бы рекомендовал использовать свою таблицу базы данных, созданную через $wpdb. Это позволит вам более гибко управлять структурой таблицы и производительностью.

    Как хранить данные

    Я бы рекомендовал создать две таблицы: одну для хранения кодов, а другую для хранения связанных с ними данных. В таблице кодов вы можете хранить только уникальный код, а в таблице данных вы можете хранить все связанные с ним данные, включая дату и другие фиксированные значения. Это упростит поиск и фильтрацию данных в будущем.

    Как делать экспорт/импорт в файл:

    Для экспорта и импорта данных в файл вы можете использовать стандартные функции экспорта и импорта WordPress, такие как export_wp() и import_wp(). Они позволяют экспортировать и импортировать содержимое WordPress, включая пользовательские типы записей и метаданные. Если вы используете свою таблицу, вы можете создать свои собственные функции экспорта и импорта, которые будут работать с вашей таблицей.

    Что касается того, как делать экспорт/импорт в файл раз в день, вы можете использовать планировщик задач WordPress, чтобы запускать скрипты экспорта и импорта в определенное время. Например, вы можете использовать функцию wp_schedule_event() для установки периодического запуска задач.

    Контроль размера таблицы:

    Чтобы контролировать размер таблицы, вы можете создать функцию удаления старых записей, которая будет удалять записи, которые старше заданного периода. Эту функцию можно запускать периодически через планировщик задач. Например, вы можете использовать функцию $wpdb->query() для удаления записей старше года.
    Ответ написан
    1 комментарий
  • Как задать ссылку на другую страницу в wordpress?

    d9d9_Sun
    @d9d9_Sun
    делаю сайты.
    php файл нужно создать как template страницы, затем создать страницу в админке и назначить ей этот шаблон. И сделать обычную ссылку на эту страницу.
    Ответ написан
    Комментировать
  • Как обновить поля с carbon fields?

    AndiMandi
    @AndiMandi Автор вопроса
    Вроде юн, а уже на заводе :)
    Решил проблему совместно с Артем Золин
    1) Найдена ошибка в файле-обработчике:
    $number = iseet($_POST['_number']) ? $_POST['_number'] : '';
    , вместо iseet - isset.
    2) В HTML-форме,
    <input type="text" name="post" id="post" placeholder="Должность" value="<?php echo get_the_author_meta( '_post' ,$user_id);?>">
    . Обратите внимание на имя и идентификатор - они должны быть как имя кастомного мета-поля, то есть вот так:
    <input type="text" name="_post" id="_post" placeholder="Должность" value="<?php echo get_the_author_meta( '_post' ,$user_id);?>">
    И так во всех кастомных полях.
    3) с JS все в порядке, там ничего исправлять не нужно.
    4) чтобы обновить мета-поле Carbon Field, можно прописать вот так: update_user_meta($user_id, '_post', $post );. И так со всеми кастомными полями.
    Надеюсь в дальнейшем вам очень поможет :)
    Ответ написан
    Комментировать
  • Сильно не досчитывает кол-во просмотров у новостей функция, в чем может быть проблема и как ее решить?

    Stalker_RED
    @Stalker_RED
    Да, возможно get_post_meta() кешируется, лень смотреть код кеширующего плагина.

    Еще один косяк:
    $count++;
    update_post_meta()


    Представим, что был 1 просмотр, и потом еще 10 просмотров произошло одновременно. Десять раз был получен счетчик из базы (единица), увеличен (до двойки), и записан обратно, но в итоге получим двойку в БД, потому что на момент записи в переменной $count была двойка.

    Фиксится и то и другое элементарно, вместо "прочитать-увеличить-записать" делайте просто update с инкрементом даже не запрашивая текущее значение счетчика из базы
    UPDATE `myTable` SET `post_views`=`post_views`+1 WHERE `post_id`=42;
    Ответ написан
    2 комментария
  • Как создатется сайт безопасных сделок?

    Sanes
    @Sanes
    Готовых CMS нет и быть не может. Это сложная и дорогая бизнес-схема и разрабатывается индивидуально.
    Точнее CMS есть, но они вряд ли вам подойдут без существенной доработки. Например CS Cart Multivendor.
    Ответ написан
    2 комментария
  • Откуда кавычка в начале названия страницы WP?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Скорее всего криво закрытый тег. Внимательно просмотрите код разметки.
    Ответ написан
    Комментировать
  • Как использовать один header на всем проекте?

    V_A_B
    @V_A_B
    ¯\_(ツ)_/¯
    По сути на вопрос, который Вы задали, сами и ответили. Решение данной задачи заключается в правильной выборке. А вот, чтобы помочь Вам нет никаких данных. В чем проблема-то? Для Вас проблема написать более сложный тернарник (можно использовать обычный if else с определением переменной, которая будет нести в себе определенный класс)? Или Вы не знаете как проверить что-либо кроме главной? И вообще ...

    а как сделать для определенной страницы свои стили для header


    что за страницы? можно ведь и просто по id присваивать стили или по шаблону (is_page_template()) или is_single(), или is_singular() ( is_single() + is_page() + is_attachment() ).....

    есть масса возможностей для проверки, но Вы не поделились в этом направлении никакой инфой

    вот Вам пример тернарника из черновиков по извращаться

    global $post;
    if(!is_home()&&!is_404()&&!is_search()&&isset($post->ID)){$VAB_SEOA=get_post_meta($post->ID,'VAB_SEO',true);}
    
    $SEO_title=isset($VAB_SEOA['SEO_title'])?$VAB_SEOA['SEO_title']:(get_the_title()&&!is_home()&&!is_front_page()&&!is_archive()&&!is_search()?get_the_title()/*.' | '.get_bloginfo('name')*/:(is_home()||is_front_page()?get_bloginfo('name').' | '.get_bloginfo('description'):(is_404()?'404 - '.esc_html__('страница не существует','VAB'):(is_search()?esc_html__('Результаты поиска','VAB').': '.get_search_query():(is_archive()?(is_day()?esc_html__('Архив по дням','VAB').': '.get_the_date():(is_month()?esc_html__('Архив по месяцам','VAB').': '.get_the_date('F Y'):(is_year()?esc_html__('Архив по годам','VAB').': '.get_the_date('Y'):(is_category()?esc_html__('Категория архива','VAB').': '.single_cat_title('',false):(is_tag()?esc_html__('Архив по меткам','VAB').': '.single_tag_title('',false):(has_post_format()?esc_html__('Архив по формату','VAB').': '.single_tag_title('',false).'/'.get_post_format():(is_author()?esc_html__('Архив Автора','VAB').': '.get_the_author_meta('display_name',get_user_by('id',get_query_var('author'))->ID):esc_html__('Архив блога','VAB')))))))):get_bloginfo('name').' | '.get_bloginfo('description'))))));



    гуглите нужную выборку
    например проверить какой шаблон подключен wordpress (получите is_page_template() или get_page_template_slug( get_the_ID() ... )

    и так далее пока не получите, что нужно)))
    Ответ написан
    Комментировать
  • Как создать кастомный путь к странице по типу /page/custom?

    @nonconformiste Автор вопроса
    add_action('init', 'custom_rewrite');
    function custom_rewrite(){
    
      add_rewrite_rule( '^(page)/([^/]*)/?', 'index.php?pagename=$matches[1]&id=$matches[2]', 'top' );
      add_filter( 'query_vars', function( $vars ){
        $vars[] = 'id';
        return $vars;
      } );
      
    }
    Ответ написан
    Комментировать
  • Нужны ли препроцессоры CSS в 2022/2023?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    А нужны ли вообще препроцессоры в 2к22, уже почти 2к23 году

    Да.

    Переменные давно реализованы в нативном CSS

    Рили? Ниже переменная (она же map), можно пример в "нативном CSS"?
    $palette: (
    
      light: (
        1: "0deg 100% 99%",
        2: "0deg 100% 98%",
        3: "0deg 100% 96%",
      ),
      
      dark: (
        1: "0deg 0% 0%",
        2: "0deg 0% 0%",
        3: "0deg 0% 0%",
      ),
    
    );


    вложенность также

    Можно пример вложенности ниже в "нативном CSS" (не строкой `.car .car--model`, а именно, как "Nesting" в Sass)?
    .car {
      color: red;
      
      &--model {
        background: black;
        
        &-tesla {
          color: blue;
        }
      }
    }


    Какие преимущества остались у препроцессоров?

    Преодполжим, в переменную выше (она же map) залетает 99 палитр, разных оттенков, реализуйте в "нативном CSS" автоматическую генерацию css классов на основе этой переменной, чтобы получать на выходе примерно такое (по дороге, желательно вешать брекпоинты для дисплеев разных размеров и наследоваться от пользовательских цветовых тем, чтобы например, темное было на темном):
    .palette--light-1 { color: hsl(0deg 100% 99%) }
    .palette--light-2 { color: hsl(0deg 100% 98%) }
    // ...
    .palette--dark-3 { color: hsl(0deg 0% 0%) }
    Ответ написан
    Комментировать
  • Нужны ли препроцессоры CSS в 2022/2023?

    Переменные давно реализованы в нативном CSS

    В препроцессорах другие переменные.
    вложенность также.

    Разве?

    Вообще препроцессоры много удобного сахара добавляют. (https://sass-scss.ru/guide/)

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

    godsplane
    @godsplane
    define( 'EMPTY_TRASH_DAYS', false ); // корзина отключена

    в wp-config.php

    Другие примеры:
    define( 'EMPTY_TRASH_DAYS', true );  // корзина включена. По умолчанию в WP
    define( 'EMPTY_TRASH_DAYS', 30 );    // корзина включена и записи в ней будут храниться 30 дней, после чего будут
    Ответ написан
    3 комментария
  • Какую область программирования выбрать PHP или Java?

    @rPman
    в данном случае язык определит направление дечятельности

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

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

    то о чем в вопросе не было спрошено:

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

    javascript - занял очень интересную позицию в мире, благодаря nodejs он может быть как web бакендом, так и способом разработки браузерного интерфейса на стороне клиента, так и десктопные приложения (electron, чтоб его...) и даже как язык для unity игрового движка, т.е. получается язык получает статистический прирост с нескольких областей а не одной как остальные.
    У языка есть недостаток - как и у php (но он старается избавиться от этого) - свободная типизация, странная реализация ООП и другой синтаксический сахар типа асинхронности (это кстати его плюсы) увеличивают шансы выстрелить себе в ногу и усложняют поддержку проекта на долгосрок (там вообще много где проблем найти, как пример, берешь любой проект с гитхаба с датой последнего комита 3-4 года и пробуешь его обновить и поддержать, советую посмотреть что аудит безопасности npm будет вам писать).

    c# - надо ставить рядом с java (он и .net и создавался майкрософтом как главный конкурент), так же благодаря unity движку, захватывает часть статистики из геймдева. К сожалению, выбор языка гвоздями (да есть способы освободиться, но за все приходится платить и чего то лишаться) прибивает разрабатываемый продукт к майкрософтовской экосистеме, за который бизнесу приходится платить неплохой 'налог', поэтому если у тебя не unity то скорее всего ты либо поддерживаешь какое то легаси либо... ну мне нравится на .net формочки к базе данных делать, нигде такого легкого инструмента который дает ms visual studio и .net - нету, но, если прямо так хочется, там можно и на python.net писать, и на c++.net, и вообще какая разница какой язык программирования, в мире разработчика главенствуют фреймворки и среды разработки.
    Это я к чему - найти деньги с этими знаниями можно только по везению.

    Все остальные языки типа R, Rust, go и прочая экзотика - это издевательства над работодателями.. т.е. если ты найдешь по ним работу, это значит работодатель стал заложником не шибко умного системного аналитика (или его отсутствие/совмещение с разработчиком, который для самообразования решил приколоться), т.е. еще большее везение, делать ставку на это я бы не стал. Хотя для самообразования учить Rust или go очень даже неплохо, много открытых проектов пилят именно на go, вполне возможно, когда в мире количество разработчиков наберется до некоторой критической массы, это станет таким же мейнстримом как сейчас php или javascript.

    Так что еще раз - выбор языков программирования в порядке убывания оценки рекомендации (выше-вероятнее найти работу, кстати оценить уровень оплаты тут сложнее)
    php - и он теряет позиции, потому что SPA приложения захватывают мир
    javascript
    python
    - если не нужен вебдев - то это на первом месте
    java/c# (точнее .net)
    go

    если хочешь быть в вебе то php/javascript
    если хочешь в геймдев java/c#
    если хочешь датасайнс то python
    Ответ написан
  • Как автоматически удалять старые посты, при достижении определенного количество постов?

    develx
    @develx
    Web developer
    Как то так
    add_action(
        'publish_post',
        function() {
            $args = [
                'numberposts' => -1,
                'fields'      => 'ids',
            ];
    
            $posts = get_posts( $args );
    
            if ( $posts && count( $posts ) >= 100 ) {
                foreach ( $posts as $post ) {
                    wp_delete_post( $post, true );
                }
            }
        }
    );
    Ответ написан
    Комментировать
  • На чем сделать сайт для магазина техники?

    TTATPuOT
    @TTATPuOT
    https://code.patriotovsky.ru/
    Выбор технологического стека проекта основывается на знаниях команды, а не на том, что у Apple.
    Обратитесь к специалисту, если хотите дорого-богато. Если хотите дёшево и сердито - сделайте сами на конструкторе.
    Ответ написан
    Комментировать
  • Как это сверстать?

    @historydev
    Редактирую файлы с непонятными расширениями
    Ответ написан
    Комментировать
  • Что делает сеошник после полугода работы?

    vpetrov
    @vpetrov
    частный SEO-специалист
    Полгода работы - это только завершение стартового этапа и подведение итогов по оценке выбранной на старте стратегии. Да и то, в зависимости от проекта - динамики за такой срок можно и не добиться (в конкурентных и сложных темах, на кривом сайте и т.п.).
    У вас странный подход к продвижению: нет необходимости в регулярной публикации контента, как и в закупке ссылок. Это очень зависит от тематики, проекта и целевой поисковой системы. И нельзя завершить оптимизацию как таковую:
    • за полгода, как правило, многие запросы успевают основательно сместиться по эталонному корпусу, и семантическое ядро надо корректировать;
    • в актуальных условиях загнать посадку в пределы топ-30 вполне может занимать квартал и больше. А вам ещё до топ-10 её прокачивать с помощью ПФ и ссылочного;
    • если не прибегать к простым и грубым методам типа ссылочного и накруток ПФ, то раскачка идёт за счёт сотен малых метрик, чей кумулятивный эффект будет учтён на уровне хостовый апдейтов - а это, примерно, годик;
    • нет никаких общих средств и методов, работающих всегда и для всех. Есть гипотезы, которые надо тестировать, и зачастую для этого нужна набранная поисковая статистика. Например, данные логов, статистика по активной поисковой семантике из консолей и систем аналитики и т.п.

    Простой пример: со старта вы считаете, что для вас наиболее интересен какой-то частотный ключ. По итогам продвижения за период на анализе взвешенной частотности выясняете, что ключ в принципе неконверсионный и приводит к вам мусорный трафик - в отличие от другого, менее частотного и незаметного.
    И я не рассматриваю тут более очевидные причины продолжать оптимизацию - конкурентов, изменения в поисковых алгоритмах, обычные тормоза с индексацией и расчётами основных метрик.
    И да, не каждому проекту в принципе нужны постоянные работы по оптимизации. Если "сеошник" начинает высасывать их из пальца - ставьте работы на паузу, или меняйте тариф.
    Ответ написан
    Комментировать
  • Кто подскажет надежного НЕ РФ регистратора домена?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    Здесь вопрос больше - кто ЦА? Если ЦА в РФ, то его забанят независимо от того, кто регистратор.

    Лично я считаю, что банить порносайты - это что-то типа "бороться с ветряными мельницами, чтобы не дул ветер", но то я, а то РКН...
    Ответ написан
    2 комментария
  • Как правильно добавить путь картинки в вордпрес?

    @KingAnton
    Скорее всего вы забыли вывести результат через echo
    <php echo bloginfo('template_url'); ?>/
    // или так
    <?php echo get_template_directory_uri()?>/
    Ответ написан
    1 комментарий
  • Как сделать изменение ссылок в хедере через админку wordpress?

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