Задать вопрос
Контакты

Достижения

Все достижения (3)

Наибольший вклад в теги

Все теги (48)

Лучшие ответы пользователя

Все ответы (214)
  • Как веб-студии организовать работу с шаблонами Wordpress?

    cesnokov
    @cesnokov
    <head>&nbsp;</head>
    Действительно, раньше переделывал готовые шаблоны под свои нужды, но со временем пришел к тому, что только свой собственный шаблон надо использовать, а не ковырять чужой код. Когда знаешь как работает каждая функция - выход годного увеличивается (типовой сайт 1-2 дня). На данный момент мой шаблон полностью переписан, но начинался он из таких частей:
    - Каркас "Roots", сейчас его величают "Sage" (https://roots.io/sage/);
    - "Custom Post Type" фреймворк "Pods" (pods.io);
    - Дополнительные админ панели "Redux" (https://reduxframework.com);
    - Плюшки: Twitter Bootstrap, Font Awesome, TimThumb, fancyBox и т.д.
    Ответ написан
    Комментировать
  • Как узнать id категории находясь в ней вне цикла?

    cesnokov
    @cesnokov
    <head>&nbsp;</head>
    WordPress:
    global $post;
    $categories = get_the_category();
    foreach($categories as $category) {
          echo $category->cat_ID;
    }


    WooCommerce:
    global $product; //Если не объявлен ранее. Не уверен в необходимости.
    global $post;
    $categories = get_the_terms( $post->ID, 'product_cat' );
    foreach ($categories as $category) {
        echo $category->term_id; //Может быть в нескольких категориях
    }
    Ответ написан
    3 комментария
  • На сайте возникла критическая ошибка, но не приходит письмо для восстановления?

    cesnokov
    @cesnokov
    <head>&nbsp;</head>
    Самый простой способ: cотрите (перенесите в другое место) все плугины из папки wp-content/plugins. Так как на 99%, что какой-то плугин устарел и не совместим с текущей версией WP.
    Или же включайте показ ошибок PHP и разбирайте каждую. Это делается добавлением в wp-config.php:
    define('WP_DEBUG', true);
    Ответ написан
    1 комментарий
  • Как получить plain text из файла .doc на php?

    cesnokov
    @cesnokov
    <head>&nbsp;</head>
    Тема очень интересная и пришлось разобраться до конца.
    До полного счастья вам не хватает этого:
    $extracted_plaintext = mb_convert_encoding( $extracted_plaintext, 'UTF-8', 'UTF-16LE' );

    И всё вместе будет:
    function read_doc_file($filename) {
        if (file_exists($filename)) {
            if (($fh = fopen($filename, 'r')) !== false) {
                $headers = fread($fh, 0xA00);
    
                // 1 = (ord(n)*1) ; Document has from 0 to 255 characters
                $n1 = ( ord($headers[0x21C]) - 1 );
    
                // 1 = ((ord(n)-8)*256) ; Document has from 256 to 63743 characters
                $n2 = ( ( ord($headers[0x21D]) - 8 ) * 256 );
    
                // 1 = ((ord(n)*256)*256) ; Document has from 63744 to 16775423 characters
                $n3 = ( ( ord($headers[0x21E]) * 256 ) * 256 );
    
                // 1 = (((ord(n)*256)*256)*256) ; Document has from 16775424 to 4294965504 characters
                $n4 = ( ( ( ord($headers[0x21F]) * 256 ) * 256 ) * 256 );
    
                // Total length of text in the document
                $textLength = ($n1 + $n2 + $n3 + $n4);
    
                $extracted_plaintext = fread($fh, $textLength);
                $extracted_plaintext = mb_convert_encoding( $extracted_plaintext, 'UTF-8', 'UTF-16LE' );
                return nl2br($extracted_plaintext);
    
            } else {
                return FALSE;
            }
        } else {
            return FALSE;
        }
    }
    
    $text = read_doc_file('test.doc');


    А пока изучал, нашёл интересный тест, может пригодиться:
    $text = "A strange string ø, æ, å, ж, п, ą, ū, ė, …"; 
    foreach(mb_list_encodings() as $chr){ 
        echo mb_convert_encoding( $text, 'UTF-8', $chr ) . " : " . $chr . "<br><br>";    
    }
    Ответ написан
    4 комментария
  • Оцените макет веб-сайта?

    cesnokov
    @cesnokov
    <head>&nbsp;</head>
    Надо сразу разобраться, это вы для себя делаете или будете кому-то показывать? Если для себя, то всё сделано так "как нравиться вам", тут останавливайтесь и дальше не читайте.

    Смысл персональной странички, передать информацию о себе. Ключевое слово "информацию" и передавать её надо максимально грамотно. Не занимайтесь "креативом", рано вам пока это. Основное правило композиции: если объект выкинуть и ничего не измениться, то этот объект лишний. Всегда пользуйтесь этим правилом по 100 раз на дню. А дальше, сверху вниз с лева на право:
    • Разделение ссылок наклонными "слэшами" говорит нам, что это путь (хлебные крошки), а не меню. Используйте более принятые знаки, например вертикальные линии или токи, кружочки.
    • Все эти фишки с "My name is web developer and I am Kirill from Russia" устарели лет 10 назад. Просто передавайте информацию максимально грамотно! Используйте знаки препинания и заглавные буквы там где надо > Hello,
    • Думаю, что в тексте достаточно того, что вы из Калининграда. Не надо уточнять, а тем более в обратную сторону (Калининград, Россия - а не наоборот).
    • Параграф текста "For now..." без отступа? А почему следующий с отступом? Везде должно быть одинаково.
    • В тексте есть грамматические ошибки.
    • Предложение пишется с заглавной буквы, в том числе если оно кнопка.
    • CV это по-русски, в английском языке это "Resume".
    • Ваше имя написано ExtraBold'ом, это "лишний объект". Шрифт тоже объект, не надо их много! Достаточно тех которые используете в основном тексте Regular и Bold.
    • Высказывания Стива Джобса оставьте для девочек в Фэйсбуке, тут они не уместны.
    • Я бы и розочку сделал белой, тогда бы страница была монохромной :)

    Надеюсь я вас не обидел своей точкой зрения. Всем и всегда есть, куда расти. Как то так.
    Ответ написан
    Комментировать