Я хочу использовать стандартную галерею WordPress без использования других плагинов и придерживаться короткого кода галереи. Итак, я знаю, что могу изменить размер эскизов, которые показаны в сетке галереи, например, .
Но я не доволен тем, что WordPress открывает самый большой файл, а затем, нажимая на один из миниатюр, и я хотел бы add_image_size( 'galleryimage', 900, 900 );
другой размер, который я создал заранее, используя add_image_size( 'galleryimage', 900, 900 );
в функции моего ребенка.php, конечно.
Вот код, который я использую для создания галерей на статических страницах:
<?php $people_attachments = new WP_Query( array( 'post_type' => 'attachment', 'post_status' => 'inherit', 'posts_per_page' => 0, 'category_name' => 'people', // note: use category SLUG ) ); $people_id_array = array(); if ( $people_attachments->have_posts() ) : while ( $people_attachments->have_posts() ) : $people_attachments->the_post(); $people_id_array[] = get_the_ID(); endwhile; endif; // Important! wp_reset_postdata(); $people_ids = implode( ',', $people_id_array ); echo do_shortcode( '' ); ?>
Как добавить размер целевого изображения (размер связанного изображения будет отображаться при нажатии)?
Я наткнулся на решение для вашего functions.php
со следующего сайта, который выглядит так, как будто это сделает трюк. Подробнее о реализации здесь:
Ниже приведен фрагмент:
function oikos_get_attachment_link_filter( $content, $post_id, $size, $permalink ) { // Only do this if we're getting the file URL if (! $permalink) { // This returns an array of (url, width, height) $image = wp_get_attachment_image_src( $post_id, 'galleryimage' ); $new_content = preg_replace('/href=\'(.*?)\'/', 'href=\'' . $image[0] . '\'', $content ); return $new_content; } else { return $content; } } add_filter('wp_get_attachment_link', 'oikos_get_attachment_link_filter', 10, 4);