mathiregister
  • 0
Новичок

Шаблон страницы для прикрепления страницы?

  • 0

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

Может быть, даже можно добавлять комментарии к каждому изображению?

edit: Кроме того, можно также запросить, нахожусь ли я в настоящее время на странице вложения? Например, для хлебных крошек я хочу вставить что-то вроде «домой > вернуться к сообщению > current_image.jpg»

изменить/обновить:

function breadcrumbs() {
    if (!is_home()) {
        echo "<a href='" . get_bloginfo('home') . "' title='Home'>Home</a> &rang; ";
        if (is_category()) {
            $category = get_the_category(); 
            echo $category[0]->cat_name;
        } else if (is_single()) {
            the_category('title_li=');
            echo " &rang; ";
            the_title();
        } else if (is_page()) {
            $ancestors = get_post_ancestors($post);
            // echo ancestors
            foreach($ancestors as $id) {
                echo "<a href='" . get_permalink( $id ) . "' title='" . get_the_title( $id ) . "'>" . get_the_title( $id ) . "</a> &rang; ";
            }
        } else if (is_tag()) {
            global $wp_query;
            $tag = get_term( $wp_query->queried_object_id, 'post_tag');
            echo "Tag &rang; " . $tag->name;
        } else if (is_search()) {
            echo " Searchresults &rang; " . get_search_query();
        } else if (is_404()) {
            echo "Not found";
        //} else if ( is_attachment() ) {
        } else if ($post->post_type == 'attachment') {
            //echo "<a href='" . get_permalink() . "'>" . get_the_title() . "</a>";
            echo "doesn't work?";
        }
    }
}
Share
  1. WordPress поддерживает несколько типов шаблонов вложений. Функция get_attachment_template in wp-includes/theme.php обеспечивает эту поддержку; он вызывается wp-includes/template-redirect.php . Если ваша тема включает в себя attachment.php все ваши вложения, они будут отображаться с этим шаблоном. Если ваша тема также включает в себя image.php, то все ваши изображения будут использовать этот шаблон, если они имеют post_mime_type image/* .

    Конечно, можно добавить навигацию по галерее. Посмотрите wp-content/themes/twentyten/loop-attachment.php, какие из них используют функции previous_image_link и next_image_link .

    Шаблон вложения Twentyten вызывает, comments_template поэтому вы можете собирать комментарии к каждой фотографии. Вам просто нужно убедиться, что ваш пост ссылается на страницы вложений, а не прямо на изображения.

    Вы можете позвонить is_attachment, чтобы определить, является ли запрошенный объект вложением.

    • 0
    • спасибо, я обновил свой пост. Сейчас я использую двадцать десять шаблонов и постараюсь адаптировать их к своим потребностям. Во всяком случае, единственное, что я не могу понять, это как заставить мои хлебные крошки работать так, чтобы они показывали home > current post title as link > current image

      • 0
    • Создание ссылок для навигации по галерее (используя миниатюры) не представляет сложности. Посмотрите attachment-loop.php в TwentyTen. Кроме того, есть ли причина не использовать is_attachment(), а не $post->post_type == 'attachment' ?

      • 0
    • @Чип и @Энди — Нет, ни за что. Мне никогда не приходилось использовать is_attachment() условное выражение, но вы правы, это лучший подход. Он должен быть доступен гораздо раньше, тогда как $post->post_type доступен только в цикле.

      • 0
  2. Краткий ответ — Да.

    Вложения обслуживаются файлами шаблонов на основе их MIME-типа, поэтому, если ваше вложение представляет собой, например, изображение или jpg, WordPress сначала будет искать файл шаблона с именем image.php, затем jpg.php и, наконец, вложение.php, прежде чем вернуться к другому файлу шаблона (single.php или index.php). На странице Кодекса есть хорошая диаграмма, показывающая иерархию шаблонов.

    Это работает, только если вы получаете доступ к вложению через структуру перезаписи WP (т.е. когда вы вставляете изображение, выбирая вариант «ссылка на публикацию», а не «ссылка на файл». URL-адрес должен выглядеть примерно так: domain.com/post -name/attachment-name… Прямой доступ к URL-адресу файла обходит храмовую систему WordPress.

    И, если вы хотите проверить, находитесь ли вы на странице вложений, вы всегда можете проверить тип сообщения, т.е.

    if ($post->post_type == 'attachment') {
    

    Конечно, в шаблоне attachment.php нет необходимости проверять это — вы уже знаете, что находитесь на странице вложений.

    • 0

Оставить ответ

You must login to add an answer.