26

Re: Вывод записей определенной рубрики в любом месте

Ю.Б. пишет:
walaby пишет:

я так понял, что в post-template.php надо смотреть - там я нашел функцию get_the_content, а что делать с ней не понятно, хотелось бы чтобы выводился пост до тега <!--more-->...

В этой функции нужно смотреть, как сделано,  "чтобы выводился пост до тега <!--more-->". И сделать то же самое.

я посмотрел, составил код, но он убирает весь пост. Суть, насколько я понял, состоит в том, чтобы внутри foreach создать функцию наподобие get_the_content, в своем случае я сделал post_content_2 в нее вставил (поначалу части вставлял, а потом и все вставил) тело функции и в конце написал echo wpautop($post_new->post_content_2);. Ничего не вышло - весь пост исчез....
вот код:

                <?php
                $posts_new = get_posts('category=7&numberposts=2');

                foreach ($posts_new as $post_new) :
                    echo '<li><h2><a href="'; 
                    echo get_permalink($post_new->ID);
                    echo '">';
                    echo $post_new->post_title;
                    echo '</a></h2></li>';
                    echo '<div class="post">';
                    //НАЧИНАЕТСЯ ФУНКЦИЯ
                    function post_content_2($more_link_text = 'Далее...', $stripteaser = 0, $more_file = '') {
                    global $id, $post, $more, $single, $withcomments, $page, $pages, $multipage, $numpages;
                    global $preview;
                    global $pagenow;
                    $output = '';

                    if ( $more_file != '' )
                        $file = $more_file;
                    else
                        $file = $pagenow; //$_SERVER['PHP_SELF'];
                
                    if ( $page > count($pages) ) // if the requested page doesn't exist
                        $page = count($pages); // give them the highest numbered page that DOES exist


                    $content = $pages[$page-1];
                    if ( preg_match('/<!--more(.*?)?-->/', $content, $matches) ) {
                        $content = explode($matches[0], $content, 2);
                        if ( !empty($matches[1]) && !empty($more_link_text) )
                            $more_link_text = strip_tags(wp_kses_no_null(trim($matches[1])));
                    } else {
                        $content = array($content);
                    }
                    if ( (false !== strpos($post->post_content, '<!--noteaser-->') && ((!$multipage) || ($page==1))) )
                        $stripteaser = 1;
                    $teaser = $content[0];
                    if ( ($more) && ($stripteaser) )
                        $teaser = '';
                    $output .= $teaser;
                    if ( count($content) > 1 ) {
                        if ( $more ) {
                            $output .= '<span id="more-'.$id.'"></span>'.$content[1];
                        } else {
                            $output = balanceTags($output);
                            if ( ! empty($more_link_text) )
                                $output .= ' <a href="'. get_permalink() . "#more-$id\" class=\"more-link\">$more_link_text</a>";
                        }
                
                    }
                    }
                                        //КОНЧАЕТСЯ ФУНКЦИЯ
                    echo wpautop($post_new->post_content_2);
                    echo '</div>';
                endforeach;
                ?>
Фильм "Дикое поле"

27

Re: Вывод записей определенной рубрики в любом месте

MAX, Ю.Б., sonika, $MEPTHuk и другие умные люди!
Разве не знаете как по данной технологии сделать вывод до тега <!--more--> ?
Я уже все перепробовал...

Фильм "Дикое поле"

28

Re: Вывод записей определенной рубрики в любом месте

Мультик помните? "Вы и есть за меня будете?" - "Ага!". big_smile

<?php
                $posts_new = get_posts('category=7&numberposts=2');

                foreach ($posts_new as $post_new) :
                    echo '<li><h2><a href="'; 
                    echo get_permalink($post_new->ID);
                    echo '">';
                    echo $post_new->post_title;
                    echo '</a></h2></li>';
                    echo '<div class="post">';

                    if ( preg_match('/<!--more(.*?)?-->/', $post_new->post_content, $matches) )
                       list($post_new->post_content,$junk) = explode($matches[0], $post_new->post_content, 2);

                    echo $post_new->post_content;
                    echo '</div>';
                endforeach;
                ?>
[signature]Есть ли смысл просить инструкцию по регулировке карбюратора, если не знаешь, в каком из багажников находится двигатель?[/signature]

29 (17-01-2008 21:22:02 отредактировано walaby)

Re: Вывод записей определенной рубрики в любом месте

да, было, мультик "В стране невыученных уроков"))

СУПЕР!!!
Спасибо, Ю.Б.!!:D

Фильм "Дикое поле"

30

Re: Вывод записей определенной рубрики в любом месте

Код выше, вместо "паузы". Я сначала вслепую написал, потом что-то сработало в голове - и я решил убрать код и проверить код обрезания.

[signature]Есть ли смысл просить инструкцию по регулировке карбюратора, если не знаешь, в каком из багажников находится двигатель?[/signature]

31

Re: Вывод записей определенной рубрики в любом месте

вобщем ОГРОМНОЕ СПАСИБО!

Фильм "Дикое поле"

32

Re: Вывод записей определенной рубрики в любом месте

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

[signature]Есть ли смысл просить инструкцию по регулировке карбюратора, если не знаешь, в каком из багажников находится двигатель?[/signature]

33

Re: Вывод записей определенной рубрики в любом месте

А как вывести не только из категори, но из подкатегорий для которых эта категория явлется родительской!?

34

Re: Вывод записей определенной рубрики в любом месте

category=НОМЕР_РОДИТЕЛЯ&category=НОМЕР_ПОДКАТЕГОРИИ

вроде так..

Фильм "Дикое поле"

35

Re: Вывод записей определенной рубрики в любом месте

walaby пишет:
category=НОМЕР_РОДИТЕЛЯ&category=НОМЕР_ПОДКАТЕГОРИИ

вроде так..

в чем смысл этой записи???
Ты таким макаром выведешь только запись из той категории которую назвал "НОМЕР_ПОДКАТЕГОРИИ".


Есть категория, содержащая кучу дочерних категорий, как вывести записи из этих дочек!

36

Re: Вывод записей определенной рубрики в любом месте

мда.
зайди по адресу http://www.ТВОЙ_ДОМЕН/wp-admin/categories.php - там ты увидишь НОМЕРА (ID) всех категорий и подкатегорий (она обозначена как РОДИТЕЛЬ - ПОДКАТЕГОРИЯ, если не ясно). соответственно через знак амперсанда ты можешь группировать разные категории, насколько я понял - в твоем случае это РОДИТЕЛЬ+ЕГО_ПОДКАТЕГОРИИ.

Фильм "Дикое поле"

37

Re: Вывод записей определенной рубрики в любом месте

walaby пишет:

мда.
зайди по адресу http://www.ТВОЙ_ДОМЕН/wp-admin/categories.php - там ты увидишь НОМЕРА (ID) всех категорий и подкатегорий (она обозначена как РОДИТЕЛЬ - ПОДКАТЕГОРИЯ, если не ясно). соответственно через знак амперсанда ты можешь группировать разные категории, насколько я понял - в твоем случае это РОДИТЕЛЬ+ЕГО_ПОДКАТЕГОРИИ.

не пойму все равно....

записи вывожу так

<?php
$posts_new = get_posts('category=1&numberposts=10');
foreach ($posts_new as $post_new) :
    echo '<li class="news_item"><a href="'; 
    echo get_permalink($post_new->ID);
    echo '">';
    echo mysql2date('j.m.Y',  $post_new->post_date); 
    echo ' - ';
    echo $post_new->post_title;
    echo '</a></li>';
endforeach;    
?>

category=1 - это и есть родитель.


как запись будет выглдеть по твоему рецепту если category=2, category=3.....category=15 -дочерние категории???

38

Re: Вывод записей определенной рубрики в любом месте

<?php
$posts_new = get_posts('category=1&category=2&category=3&category=4&category=5&category=125&numberposts=10');
foreach ($posts_new as $post_new) :
    echo '<li class="news_item"><a href="'; 
    echo get_permalink($post_new->ID);
    echo '">';
    echo mysql2date('j.m.Y',  $post_new->post_date); 
    echo ' - ';
    echo $post_new->post_title;
    echo '</a></li>';
endforeach;    
?>
Фильм "Дикое поле"

39

Re: Вывод записей определенной рубрики в любом месте

walaby пишет:
<?php
$posts_new = get_posts('category=1&category=2&category=3&category=4&category=5&category=125&numberposts=10');
foreach ($posts_new as $post_new) :
    echo '<li class="news_item"><a href="'; 
    echo get_permalink($post_new->ID);
    echo '">';
    echo mysql2date('j.m.Y',  $post_new->post_date); 
    echo ' - ';
    echo $post_new->post_title;
    echo '</a></li>';
endforeach;    
?>

не работает это! Выводится запись последней указанной категории, о чем я и говорил выше!

40

Re: Вывод записей определенной рубрики в любом месте

это что такое?
$posts_new = get_posts('category=1&category=2&category=3&category=4&category=5&category=125&numberposts=10');
категории так перечисляются:
$posts_new = get_posts('category=1,2,3,4,5,125&numberposts=10');

Едет вебмастер в поезде и слышит: <td></td> … <td></td> … <td></td>
шаблоны Темы

41

Re: Вывод записей определенной рубрики в любом месте

И не будет работать. В get_posts() не предусмотрено использование нескольких категорий: или все, или одна.

Что делать? Вместо get_posts() использовать $wpdb->get_results() с query, похожей на ту, что формирует функция, но вместо term_id= использовать term_id in.

[signature]Есть ли смысл просить инструкцию по регулировке карбюратора, если не знаешь, в каком из багажников находится двигатель?[/signature]

42

Re: Вывод записей определенной рубрики в любом месте

sonika пишет:

это что такое?
$posts_new = get_posts('category=1&category=2&category=3&category=4&category=5&category=125&numberposts=10');
категории так перечисляются:
$posts_new = get_posts('category=1,2,3,4,5,125&numberposts=10');

вот и я том же!


Но и так не работает...выводяться только заголовки записей последней указанной категори!

Неужели нет рецепта, в котором можно обойтись указанием только родительской рубрики!

Да я уже и готов перечисдить все рубрики вывод из которых мне нужен...только КАК?????

43

Re: Вывод записей определенной рубрики в любом месте

http://maxsite.org/vyivod-poslednih-zapisey

попробую вечером

44

Re: Вывод записей определенной рубрики в любом месте

может лучше query_posts?
http://codex.wordpress.org/Template_Tags/query_posts

Едет вебмастер в поезде и слышит: <td></td> … <td></td> … <td></td>
шаблоны Темы

45

Re: Вывод записей определенной рубрики в любом месте

Ю.Б. пишет:

И не будет работать. В get_posts() не предусмотрено использование нескольких категорий: или все, или одна.

Что делать? Вместо get_posts() использовать $wpdb->get_results() с query, похожей на ту, что формирует функция, но вместо term_id= использовать term_id in.

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

include_once('wp-config.php');
include_once('wp-includes/wp-db.php');

46

Re: Вывод записей определенной рубрики в любом месте

Те инклюды вставить бы тому, кто... ладно, не важно. Оно даже для использования выборки вне Вордпресса - занадто, а внутри - и подавно.

Ну так лениво собирать SQL-запрос. А совет от Сони не сработал?

[signature]Есть ли смысл просить инструкцию по регулировке карбюратора, если не знаешь, в каком из багажников находится двигатель?[/signature]

47 (06-02-2008 10:17:32 отредактировано Pel'men')

Re: Вывод записей определенной рубрики в любом месте

Совет от Сони работает...так как задача по выводу в сйдбре выполняеться. Но посты страницы, на каторой я организую вывод этих пермалинков исчезают и вместо них выводится содержимое категорий котрые выводяться в садбаре.вот...

То есть получаеться что если пользоватьсяся советом Сони, то задача сводиться к тому, как исправить это код

<?php
$posts_new = query_posts('cat=3');
foreach ($posts_new as $post_new) :
    echo '<li class="news_item"><a href="'; 
    echo get_permalink($post_new->ID);
    echo '">';
    echo mysql2date('j.m.Y',  $post_new->post_date); 
    echo ' - ';
    echo $post_new->post_title;
    echo '</a></li>';
endforeach;    
?>

что бы он не выводил на странице содержимое категорий. а выводил только пермалинки....на сколько моего ума хватает...так оно и должно быть...но нет...он выводит и пермалинки и сами посты...

48

Re: Вывод записей определенной рубрики в любом месте

А что, у Вас сайдбар проигрывается ДО основного цикла страницы?

[signature]Есть ли смысл просить инструкцию по регулировке карбюратора, если не знаешь, в каком из багажников находится двигатель?[/signature]

49

Re: Вывод записей определенной рубрики в любом месте

Так вот не программер я! О пхп имею лишь поверхностное представление! Код слизал отсюдо же с форума!
В общем буду рад если подскажите что как исправить и как он должен выглядеть, в смысле код! да и мало ли...может кому еще понадобится такое!

50

Re: Вывод записей определенной рубрики в любом месте

Подождите, при чем тут ЭТОТ код, если на странице выводится что-то не то? Я спрашиваю, гда выводится сайдбар, до основного цикла или после? По разному бывает, есть темы, в которых левый сайдбар выводится до, есть темы, в которых оба сайдбара - после. Если в Вашем случае сайдбар выводится до, то нужно сохранять основную кверь ($qq = $query_string) перед выводом сайдбара, а после вертать взад (query_posts($qq)) . Иначе основной цикл просто будет дублировать выборку сайдбара.

[signature]Есть ли смысл просить инструкцию по регулировке карбюратора, если не знаешь, в каком из багажников находится двигатель?[/signature]