Как создать галерею фотоальбома в WordPress без плагина

Опубликовано: 2021-11-12

галерея фотоальбома

В этой статье мы покажем вам, как создать галерею фотоальбомов в WordPress без плагина.

Все мы знаем, что с помощью плагинов в WordPress невозможно ничего добиться.

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

Для любого сайта галерея играет очень важную роль.

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

Галерея фотоальбома должна содержать несколько фотографий.

Здесь мы создаем ежемесячный альбом, чтобы у каждого альбома была обложка, и при нажатии на обложку вы попадете внутрь альбома, чтобы проверить каждую фотографию по отдельности.

Вам также необходимо знать, как создать галерею фотоальбомов в WordPress без плагина , чтобы выполнять сложные задачи, для которых вам нужно было купить плагин премиум-класса, если вы хотите использовать плагин.

Кроме того, вы можете использовать одно из этих программ для редактирования фотографий для редактирования фотографий, которые будут прикреплены к галерее вашего фотоальбома.

галерея фотоальбома

Шаги по созданию галереи фотоальбомов в WordPress без плагина

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

Для альбомов потребуется миниатюра, и эта функция встроена в WordPress. Если ваш веб-сайт является веб-сайтом фотографа, вы можете превратить свои публикации по умолчанию в альбом. В противном случае вам нужно создать собственный тип записи.

Создайте плагин для конкретного сайта (не готовый) и пользовательский тип сообщения

Вам нужно создать плагин для конкретного сайта, который не зависит от вашей темы. Они полезны для создания пользовательских типов сообщений, добавления шорткодов, отображения миниатюр и тому подобного. Чтобы создать плагин для конкретного сайта, вам нужно перейти в каталог плагинов с помощью FTP.

В разделе wp-content/plugins/ создайте новую папку и назовите ее тем же именем, что и плагин, который вы хотите создать. Зайдите в папку и создайте файл php с тем же именем, что и папка. Вставьте следующий код внутрь файла.

/*
Название плагина: Плагин сайта для website.com
Описание: изменения кода сайта для веб-сайта.com.
*/
/* Начать добавление функций ниже этой строки */
/* Остановить добавление функций ниже этой строки */

Сохраните файл и выйдите. Вышеупомянутый код не имеет никакого значения и будет заменен при создании пользовательского типа записи.

Сгенерируйте код для пользовательского типа записи с помощью генератора кода пользовательского типа записи WordPress.

Отображение дополнительных размеров изображений и дополнительных полей–

На панели администратора перейдите в раздел «Внешний вид», а затем в «Редактор». Найдите файл functions.php и добавьте следующий код для регистрации дополнительного размера изображения для отображения сетки.

add_image_size('альбом-сетка', 225, 150, правда);

галерея фотоальбома

Если вы хотите добавить дополнительные настраиваемые поля в Media Uploader, такие как имя фотографа, его страницы и другую информацию при загрузке изображения, вам необходимо добавить следующий код в файл functions.php.

/**
 * Добавьте поля имени фотографа и URL-адреса в загрузчик медиафайлов.
 * Массив @param $form_fields, поля для включения в форму вложения
 * Объект @param $post, запись вложения в базе данных
 * @return $form_fields, модифицированные поля формы
 */

функция be_attachment_field_credit($form_fields, $post) {
    $form_fields['имя-фотографа'] = массив(
        'label' = 'Имя фотографа',
        'ввод' = 'текст',
        'value' = get_post_meta($post-ID, 'be_photographer_name', true),
        'helps' = 'Если предоставлено, будет отображаться авторство фотографии',
    );
    $form_fields['be-photographer-url'] = массив(
        'label' = 'URL-адрес фотографа',
        'ввод' = 'текст',
        'value' =get_post_meta($post-ID, 'be_photographer_url', true),
        'helps' = 'Добавить URL-адрес фотографа',
    );
    вернуть $form_fields;
}
add_filter('attachment_fields_to_edit', 'be_attachment_field_credit', 10, 2 );
/**
 * Сохранение значений имени фотографа и URL-адреса в загрузчике медиа
 * Массив @param $post, данные сообщения для базы данных
 * Массив @param $attachment, поля вложений из формы $_POST
 * @return массив $post, измененные данные сообщения
 */
функция be_attachment_field_credit_save($post, $attachment) {
    if(isset($attachment['be-photographer-name'] ))
        update_post_meta($post['ID'], 'be_photographer_name', $attachment['be-photographer-name'] );
    if(isset($attachment['be-photographer-url'] ))
update_post_meta($post['ID'], 'be_photographer_url', esc_url($attachment['be-photographer-url'] ) );
    вернуть $пост;
}
add_filter('attachment_fields_to_save', 'be_attachment_field_credit_save', 10, 2 );

Как видите, он добавит два текстовых поля в Media Uploader, а именно имя фотографа и URL-адрес фотографа.

Создание страниц для отображения всех альбомов

Теперь пришло время создать несколько альбомов (пользовательские типы сообщений) и добавить в них фотографии. Это изображение станет обложкой альбома. Контент, который вы добавите в область контента поста, станет описанием альбома.

Шаблон страницы для альбомов

Создайте файл и назовите его archive-albums.php. Скопируйте код заголовка, нижнего колонтитула, боковой панели и других элементов пользовательского интерфейса и вставьте его. Вставьте в него следующий код, чтобы отобразить все альбомы на одной странице.

<li class="album-grid">a href=" title=""</a></li>
post_type == 'альбомы' $post-post_status == 'опубликовать' ) {
        $ вложения = get_posts (массив (
            'post_type' = 'вложение',
            'сообщений_на_странице' =-1,
            'post_parent' = $идентификатор сообщения,
            'исключить' = get_post_thumbnail_id()
        ));
        если ( $ вложения ) {
            foreach ( $ вложения как $ вложение ) {
                $class = "мим после вложения-" . sanitize_title($attachment-post_mime_type);
                $title = wp_get_attachment_link($attachment-ID, 'альбом-сетка', true);
                echo '<li class="' . $class . ' альбомная сетка">' . $название . '</li>';
            }           
        }
    }

Поместите следующий код в основной файл CSS вашей темы, чтобы изображения обложки отображались в виде сетки.

.album-grid {ширина: 225 пикселей; высота: 150 пикселей; плыть налево; стиль списка: нет; тип стиля списка: нет; поле: 0 18px 30px 0px;}

Страница шаблона для каждого изображения

Создайте файл и назовите его single-attachments.php. Скопируйте весь код из готового файла single.php темы. Вы можете найти его в разделе «Редактор» в меню «Внешний вид». Затем найдите код цикла в файле single-attachments.php и замените этот раздел следующим.


если ( have_posts() ) : в то время как ( have_posts() ): the_post();

$photographer = get_post_meta($post-ID, 'be_photographer_name', true);

$photographerurl = get_post_meta($post-ID, 'be_photographer_url', true);

<h1>the_title();</h1>
<div class="photometa"><span class="photographername"> echo $photographer; </span> // <a href=" echo $photographerurl " target="_blank" class="photographerurl" rel="noopener noreferrer"> echo $photographerurl </a></div>
                        <div class="запись-вложение">
 если (wp_attachment_is_image($post-id)) : $att_image = wp_get_attachment_image_src($post-id, "полный"); 
                        <p class="attachment"><a>id); " title=" the_title(); " rel="attachment"<img src=" echo $att_image[0];" width=" echo $att_image[1];" height="echo $att_image[2];" class="attachment-medium">post_excerpt ;" /</a>
                        </p>
 еще :
                        <a>ID) " title=" echo wp_specialchars( get_the_title($post-ID), 1 )" rel="attachment"echo basename($post-guid) </a>
 конец; 
                        </div>
 конец; 
 конец;