[Помогите] По вопросу навигации

Тема в разделе "Wordpress", создана пользователем phoenix555, 26 мар 2009.

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

    phoenix555 Постоялец

    Регистр.:
    31 окт 2008
    Сообщения:
    113
    Симпатии:
    17
    Прошу помочь разобраться с wordpress-ом.
    При написании статей предлагается разместить его в рубрике.
    А как сделать выборку статей на создаваемой СТРАНИЦЕ?
     
  2. evgenyk

    evgenyk Создатель

    Регистр.:
    18 авг 2006
    Сообщения:
    46
    Симпатии:
    14
    Каким образом надо делать выборку, по ключевому слову? Подробнее можно?
     
  3. phoenix555

    phoenix555 Постоялец

    Регистр.:
    31 окт 2008
    Сообщения:
    113
    Симпатии:
    17
    нет, по смысловому содержанию.
    Вручную как-нибудь можно на странице указать, какие посты показывать?
     
  4. bravilor

    bravilor

    Регистр.:
    25 июл 2007
    Сообщения:
    438
    Симпатии:
    155
    Смутное подозрение, что вы хотите чтобы после основной статьи, шли ссылки на статьи схожие с этой? А вообще, что значит выборку статей на странице, есть примеры?
     
  5. evgenyk

    evgenyk Создатель

    Регистр.:
    18 авг 2006
    Сообщения:
    46
    Симпатии:
    14
    Обычно такое делаеться метками или выборка из архива.
     
  6. preblud

    preblud Создатель

    Регистр.:
    17 дек 2008
    Сообщения:
    39
    Симпатии:
    17
    Это можно реализовать при помощи меток. В плагине Simple Tag есть фунция st_related_posts, которая как раз выводит похожие записи. Её нужно разместить в шаблоне.
    Ещё для этого есть спец плагин, он так и называется Related Post.
    Лично мне эти плагины не понравились, т.к. это доп нагрузка на сервер. Я для этого написал функцию
    Код:
    <?php
    function related_posts() {
    	global $wpdb, $post;
    	$pref = $wpdb->prefix;
    	$posttags = get_the_tags();
    	$postcats = get_the_category();
    	
    	if ($posttags) {
    		foreach($posttags as $tag) {
    			$tag_in .= $tag->term_id.','; 
    		}
    		$tag_in = substr($tag_in, 0, strlen($tag_in)-1 );
    		$intag = "$wpdb->term_taxonomy.term_id IN ( ".$tag_in." ) and ";
    	} else $intag = '';
    	
    	if ($postcats) {
    		foreach ($postcats as $postcat) {
    			$cat_in .= $postcat->cat_ID.',';
    		}
    		$cat_in = substr($cat_in, 0, strlen($cat_in)-1 );
    		$incat = "wp_term_relationships.object_id in ( ";
    		$incat.= "select wp_term_relationships.object_id ";
    		$incat.= "from wp_term_taxonomy inner join wp_term_relationships on wp_term_taxonomy.term_taxonomy_id = wp_term_relationships.term_taxonomy_id ";
    		$incat.= "where wp_term_taxonomy.term_id in (".$cat_in.") ) and";
    	} else $incat = '';
    	
    		$query = "select wp_term_relationships.object_id, wp_posts.post_title ";
    		$query.= "from wp_term_taxonomy inner join wp_term_relationships on wp_term_taxonomy.term_taxonomy_id = wp_term_relationships.term_taxonomy_id inner join wp_posts on wp_term_relationships.object_id=wp_posts.ID ";
    		$query.= "where ".$intag;
    		$query.= $incat." wp_posts.post_type LIKE 'post' and wp_posts.post_status LIKE 'publish' ";
    		$query.= "group by wp_term_relationships.object_id ";
    		$query.= "order by RAND() limit 5";
    
    		$rel_posts = $wpdb->get_results($query);
    		if (count($rel_posts) == 0) {
    
    		} else {
    						echo '<h3>Похожие новости</h3>';
    			echo '<ul>';
    			foreach ($rel_posts as $rel_post) {
    				echo '<li><a href="'.get_permalink($rel_post->object_id).'" >'.$rel_post->post_title.'</a></li>';
    			}
    			echo '</ul>';
    		}
    
    }
    ?>
    
    Её нужно поместить в файле functions.php темы, для вызова в шаблон в нужном месте вставить
    Код:
    <?php related_posts(); ?>
     
    phoenix555 и пупер нравится это.
  7. phoenix555

    phoenix555 Постоялец

    Регистр.:
    31 окт 2008
    Сообщения:
    113
    Симпатии:
    17
    Что-то я не догоняю.
    При написании поста есть возможность выбрать, в какой он будет рубрике, но нет возможности выбрать в какой он будет странице. И, в админке, в разделе страниц нет возможности выбрать, какие посты здесь поставить.
    Именно посты, а не ссылки на них.
     
  8. bravilor

    bravilor

    Регистр.:
    25 июл 2007
    Сообщения:
    438
    Симпатии:
    155
    Изначально нет такой функции в вп, все посты идут на главную страницу.
     
Статус темы:
Закрыта.