[Помогите] Вывод ссылок на все страницы сайта wordpress

Тема в разделе "Wordpress", создана пользователем Nikline, 4 янв 2011.

Статус темы:
Закрыта.
Модераторы: DzSoft, Sorcus
  1. Nikline

    Nikline Постоялец

    Регистр.:
    12 дек 2009
    Сообщения:
    51
    Симпатии:
    0
    Версия Wordpress 3.0.4
    На блоге используются плагины: All in One SEO Pack 1.4.6.15, Dagon Design Sitemap Generator 3.12, Exec-PHP 4.9, Google XML Sitemaps 3.1.0.1, WordPress Related Posts 1.2
    Шаблон из паблика.
    ______________
    Мне требуется создать страницу (своеобразную карту сайта), на которой будут не только ссылки на посты, но и на все страницы тегов, архивов и т.д. Для таких целей пытался использовать функции wp_tag_cloud() и wp_list_pages(). Но первый выводит только облако из ПОПУЛЯРНЫХ тегов (мне нужны ВСЕ), а второй только созданные мною страницы (а мне надо, чтобы страницы типа mysite.ru/page/2/ или mysite.ru/category/1/page/2/ также выводились).
    Подскажите возможно ли такое вообще сделать? Если да, то каким образом.
    Заранее выражаю огромную благодарность.
     
  2. absurdo

    absurdo

    Регистр.:
    22 мар 2007
    Сообщения:
    314
    Симпатии:
    8
    Нужно сделать свой шаблон для страницы карты сайта в который напихать:

    <h2>Название категории</h2>
    <ul>
    <?php $posts = get_posts("numberposts=15&category=10"); foreach($posts as $post) : ?>
    <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
    <?php endforeach; ?>
    </ul>
    это для вывода постов из определенной категории (категория №10). + облако тегов, + ссылки на статические страницы. У меня так сделано.
     
  3. Nikline

    Nikline Постоялец

    Регистр.:
    12 дек 2009
    Сообщения:
    51
    Симпатии:
    0
    В шаблон вставлять не хочу, стоит плагин, который позволяет в любой пост или страницу вставить php.
    Так вот, ворочал кодом, но все, что он выдает - это только название страницы, на которой расположен код:

    Название категории

    * Навигация
    * Навигация
    * Навигация
    * Навигация
    * Навигация
    * Навигация
    * Навигация
    * Навигация
    * Навигация
    * Навигация

    причем столько раз, сколько прошу вывести постов numberposts=10. Что не так?
     
  4. Asin

    Asin

    Регистр.:
    18 авг 2008
    Сообщения:
    621
    Симпатии:
    390
    Попробуй пошаманить с Wordpress Pixel Map
     
  5. Nikline

    Nikline Постоялец

    Регистр.:
    12 дек 2009
    Сообщения:
    51
    Симпатии:
    0
    мне трудно шаманить, так как php интуитивно знаю. По стандартной работе, он вывел только все посты. А как же засунуть туда все теги, архивы и т.д.
     
  6. 3xmaster

    3xmaster

    Регистр.:
    19 июн 2007
    Сообщения:
    552
    Симпатии:
    130
    Поможет плаг google sitemap generator. Только не с дефолтными настройками.
     
  7. absurdo

    absurdo

    Регистр.:
    22 мар 2007
    Сообщения:
    314
    Симпатии:
    8
    Самый простой способ - это плагин именно для карты сайта. Самый настраиваемый вариант - это кастомТемплейт. ПХП знать вообще не обязательно, я например не знаю, но сделал все что мне нужно было.
     
  8. polyetilen

    polyetilen Заблокирован

    Регистр.:
    10 авг 2006
    Сообщения:
    814
    Симпатии:
    474
    создаётся страница с названием karta, потом создаётся файл page-karta.php в каталоге шаблона и этот файл будет загружаться только для страницы karta. Тогда в файле сделать списки разных страниц (записи, теги, архивы, категории)
    PHP:
    <?php

    get_header
    (); ?>

            <div id="container">
                <div id="content" role="main">      
                
                    <h2>Записи</h2>
                    <ul>
                    <?php $posts get_posts(); foreach($posts as $post) : ?>
                    <li>
                    
                    <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
                    
                    
                    <?php if ( countget_the_category() ) ) : ?>
                        <span class="meta-sep">|</span>
                        <span class="cat-links">
                            Категории: <?=get_the_category_list', ' ); ?>
                        </span>
                    <?php endif; ?>
                    
                    
                    ссылка на запись/категория: 
                    <?php 
                    
    foreach((get_the_category()) as $category){
                        
    ?><a href="<?php the_permalink(); ?>/category/<?=$category->cat_ID ?>"><?=$category->cat_name ?></a><?
                    }
                    ?>

                    
                        <?php
                            $tags_list 
    get_the_tag_list''', ' );
                            if ( 
    $tags_list ):
                        
    ?>
                            <span class="meta-sep">|</span>
                            <span class="tag-links">
                                Теги: <?=$tags_list?>
                            </span>
                        <?php endif; ?>
                    
                    </li>
                    
                    <?php endforeach; ?>
                    </ul>
                    
                    
                    
                  
                    
                    <h2>Архив по месяцам:</h2>
                    <ul>
                        <?php wp_get_archives('type=monthly'); ?>
                    </ul>
                    
                    <h2>Архив по годам:</h2>
                    <ul>
                        <?php wp_get_archives('type=yearly'); ?>
                    </ul>

                    
                    
                    
                    
                    <h2>Категории</h2>
                    <ul>
                    <?php wp_list_cats(); ?>
                    </ul>
                    
                    <h2>Теги</h2>
                    <ul>
                    <?php
                    $tags 
    get_tags( array('orderby' => 'count''order' => 'DESC') );
                    foreach((array) 
    $tags as $tag){
                        echo 
    '<li><a href="'.get_tag_link($tag->term_id).'" rel="tag">'.$tag->name.' ('.$tag->count.') </a></li>';
                    }
                    
    ?>
                    </ul>
                                   




                    

                </div>
            </div>

    <?php get_sidebar(); ?>
    <?php get_footer
    (); ?>
    Но если нужны ссылки постов как mysite.ru/page/2/ и такие mysite.ru/category/1/page/2/ наверное одна из них не будут работать, это разные структуры ссылок. В скрипте пример есть как собрать такую исскуственную ссылку "ссылка на запись/категория/ид". А структура ссылки настраивается в админке и если такая структура не прописана то работать не будет. Но возможно прописывать правило в htaccess с которым перенаправлять искуственные ссылки на настоящие.
     
    Nikline нравится это.
  9. Nikline

    Nikline Постоялец

    Регистр.:
    12 дек 2009
    Сообщения:
    51
    Симпатии:
    0
    polyetilen, спасибо, взял твой код, изменил чуток как мне надо, все устраивает. Насчет таких ссылок mysite.ru/page/2/ все понял и теперь решил не париться. Мне хватит того, что твой скрипт выводит
     
Статус темы:
Закрыта.