• Какая правильная структура файлов front-end проекта и почему?

    @antonowano
    Профессиональный самоучка
    • dist
    • node_modules
    • src
    • gulpfile.js
    • package.json


    src - папка со всеми исходниками верстки (html, css, js, less, coffeescript и т.д.),
    dist - папка рабочего проекта скомпилированного из исходников папки src, по команде gulp,
    gulpfile.js - скрипт компиляции рабочего проекта,
    package.json - мета данные проекта и список необходимых npm библиотек для работы gulpfile.js,
    node_modules - сторонние npm библиотеки установленные для компиляции проекта.

    Пример gulpfile.js:
    var gulp = require('gulp');
    var less = require('gulp-less');
    var cleanCSS = require('gulp-clean-css');
    
    gulp.task('default', function() {
        gulp.src('./src/css/**/*.less')
            .pipe(less())
            .pipe(cleanCSS())
            .pipe(gulp.dest('./dist/css/'))
        ;
    });


    Для такого проекта должны быть установлены 3 npm библиотеки gulp, gulp-less, gulp-clean-css.

    Это общепринятый скелетон для любого gulp-проекта. А структура папки src это по вашему желанию. Каждый делает по своему.
    Ответ написан
    3 комментария
  • Как в wordpress в теме добавить выбор нескольких изображений?

    cesnokov
    @cesnokov
    <head>&nbsp;</head>
    Возможны несколько вариантов исполнения, и предлагаемый мной не является единственно правильным, а просто поможет Вам сэкономить время и понять как всё работает. Я (лично я) последнее время подсел на PODs и почему-то везде его сую. Так вот, если использовать PODs, то решение вашей задачи будет такой:
    - Инсталируем "PODs" в "Wordpress": PlugIns > Add New > Pods - Custom Content Types and Fields;
    - Добавляем для записей типа "Page" дополнительное поле: Pods Admin > Add New > Extend Existing > Post Type - Poge > Add Field.
    - Так как это будут некие файлы, и их будет несколько, то надо добавить поле (Add Field), например с такими параметрами:
    • Label: Gallery Images
    • Name: page_gallery_images
    • Field Type: File / Image / Video
    • Upload Limit: Multiple Files
    • File Uploader: Attachments
    • Restrict File Types: Images

    - Сохраняем и смотрим что получилось. В редактировании станиц должно появиться: Extra Fields с полем Gallery Images и кнопкой Add File. Сюда и загружаем (или выбираем из имеющихся в библиотеке) нужные картинки.
    - Для вывода картинок в шаблоне есть несколько вариантов, используя функции "WordPress" или функции "PODs", или и то и другое. В этом примере используем функцию "WordPress" get_post_meta():

    $page_images = array(); //Сюда будем записывать информацию о картинках
    $page_id = get_the_ID(); //ID нынешней страницы
    
    //Получаем информацию из созданного нами поля "page_gallery_images":
    $page_images = get_post_meta($page_id, 'page_gallery_images');
    //Если нужно получить только одну (первую) картинку, то в конце добавим true:
    //$page_images = get_post_meta($page_id, 'page_gallery_images', true);
    //Документация здесь: https://developer.wordpress.org/reference/functions/get_post_meta/
    
    //Разные поля PODs возвращают разные типы данных, 
    //в нашем случае, это будет массив с информацией о картинках
    //посмотреть содержимое которого можно (например) так:
    //echo '<pre>';
    //print_r ($page_images);
    //echo '</pre>';
    
    //Выводим картинки:
    foreach ( $page_images as $image ){
       echo '<img src="' . $image['guid'] . ">';
    }


    Если надо сделать несколько "слайдеров", то можно создать несколько полей для загрузки изображений в Pods Admin и вывести их в шаблоне. Для тех кто не хочет ничего выводить в шаблоне, существуют Shortcodes и MagicTags.

    Также совсем не обязательно поля привязывать к страницам, а можно сделать отдельную страницу с настройками (Pods Admin > Add New > Custom Settings Page), для вывода полей которой пригодиться этот код:

    $settings = pods('name_of_custom_settings_pod');
    $some_field = $settings->field( 'name_of_field_from_settings' );


    Надеюсь эта "инструкция" будет Вам полезна :)
    Ответ написан
    7 комментариев
  • Как убрать index.php из урла?

    @ShamblerR
    RewriteEngine On
                # Директива включает редиректы.
    RewriteBase /
      # Без директивы (.*) = /$1 будет /var/wwww/site/$1 с ней = /$1
    
    
    ############################################################################
    ####  Убираем index.php, если он есть в конце URL                       ####
    ############################################################################
    RewriteCond %{REQUEST_METHOD} =GET
                #Выявляем GET запрос в URL (не POST)
    RewriteCond %{REQUEST_URI} ^(.*)/index\.php$
                #URL cодержит index.php в конце.
    RewriteRule ^(.*)$ %1/ [R=301,L]
                #Удалить index.php из URL.
    Ответ написан
    6 комментариев