Помогите исправить php код
Страницы: 1 2 След.
Помогите исправить php код
Помогите исправить php код вывода похожих материалов по тегам и категотиям.
Если есть материалы с одинаковым тегом... код  их выводит
если одинаковых тегов не... он должен выводить материалы с той же категории... но не выводит
помогите исправить(((


Код
<div class="related_posts"">
<p>Похожие материалы</p>
<?php
//for use in the loop, list 5 post titles related to first tag on current post
$tags = wp_get_post_tags($post->ID);
$categories = get_the_category($post->ID);

if ($tags) {
$tag_ids = array();
 foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id;
 $args=array(
 'tag__in' => $tag_ids, // Сортировка производится по тегам
 'orderby'=>rand, // Добавляем условие сортировки рандом (случайный подбор)
 'post__not_in' => array($post->ID),
 'showposts'=>4 // Цифра означает количество выводимых записей
);

$my_query = new wp_query($args);
if( $my_query->have_posts() ) {
echo '<ul>';
while ($my_query->have_posts()) {
$my_query->the_post();
?>
<li><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>">
<?php the_post_thumbnail(); ?><br /><?php trim_title_words(7, '...'); ?></a></li>
<?php
}
echo '</ul>';
}
wp_reset_query();
}

else  {
$category_ids = array();
foreach($categories as $individual_category) $category_ids[] = $individual_category->term_id;
$args=array(
'category__in' => $category_ids,
'post__not_in' => array($post->ID),
'showposts'=>4,
'orderby'=>rand,
'caller_get_posts'=>1);
$my_query = new wp_query($args);
if( $my_query->have_posts() ) {
echo '<ul>';
while ($my_query->have_posts()) {
$my_query->the_post();
?>
<li><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>">
<?php the_post_thumbnail(); ?><br /><?php trim_title_words(7, '...'); ?></a></li>
<?php
}
echo '</ul>';
}
wp_reset_query();

}

?>
</div>
 
Изменено: Armen Adamyan - 6 Декабря 2015 17:29
Один из лучших хостингов.
Одна из лучших партнерок.
Продаю плагины гаданий и гороскопа!
кто-нибудь((
if (!empty($tags))  попробуйте
Сан Евгенич, не помогло((
Изменено: Armen Adamyan - 7 Декабря 2015 13:01
вот это вообще

Код
 $category_ids = array();
foreach($categories as $individual_category) $category_ids[] = $individual_category->term_id;
$args=array(
'category__in' => $category_ids,
'post__not_in' => array($post->ID),
'showposts'=>4,
'orderby'=>rand,
'caller_get_posts'=>1);
$my_query = new wp_query($args);
if( $my_query->have_posts() ) {
echo '<ul>';
while ($my_query->have_posts()) {
$my_query->the_post();
?>
<li><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>">
<?php the_post_thumbnail(); ?><br /><?php trim_title_words(7, '...'); ?></a></li>
<?php
}
echo '</ul>';
}
wp_reset_query();


самостоятельно работает?
Сан Евгенич, да...  там только одна функция <?php trim_title_words(7, '...'); ?> из functions.php
ну раз первый блок работает и второй работает, то надо условие поправить.
print_r($tags) когда нет одинаковых тегов, что выдает?
Сан Евгенич, пустота.. когда нет одинаковых тегов
ну пробуйте тогда в условии проверять переменную $tags. пробуйте empty(), isset(). Хотя пустота это как то подозрительно, пустоты быть не должно, хоть что то должно отдать, или массив пустой или еще что то
да, кстати, а что выдает принт переменной когда совпадения есть? Массив?
Сан Евгенич, выводить 4 материала
а принт выводит это:


Код
Array ( [0] => stdClass Object ( [term_id] => 43 [name] => контент [slug] => kontent [term_group] => 0 [term_taxonomy_id] => 43 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 1 [filter] => raw ) [1] => stdClass Object ( [term_id] => 24 [name] => оптимизация [slug] => optimizaciya [term_group] => 0 [term_taxonomy_id] => 24 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 5 [filter] => raw ) [2] => stdClass Object ( [term_id] => 42 [name] => текст [slug] => tekst [term_group] => 0 [term_taxonomy_id] => 42 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 1 [filter] => raw ) [3] => stdClass Object ( [term_id] => 44 [name] => уникальность [slug] => unikalnost [term_group] => 0 [term_taxonomy_id] => 44 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 1 [filter] => raw ) )
 
Изменено: Armen Adamyan - 7 Декабря 2015 15:45
Ну попробуйте первое условие

Код
if ($tags) {
поменять на

Код
if (isset($tags) && !empty($tags)) {
в 


Код
<div class="related_posts"">
кавычка лишняя закрывающая
Сан Евгенич, неее((( не помагло
вставьте вот этот код  и откеройте там, где точно есть совпадения тегов
Код
<div class="related_posts"">
<p>Похожие материалы</p>
<?php
//for use in the loop, list 5 post titles related to first tag on current post
$tags = wp_get_post_tags($post->ID);
$categories = get_the_category($post->ID);

if ($tags) {
$tag_ids = array();
 foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id;
 $args=array(
 'tag__in' => $tag_ids, // Сортировка производится по тегам
 'orderby'=>rand, // Добавляем условие сортировки рандом (случайный подбор)
 'post__not_in' => array($post->ID),
 'showposts'=>4 // Цифра означает количество выводимых записей
);

$my_query = new wp_query($args);
if( $my_query->have_posts() ) {
echo '<ul>';
while ($my_query->have_posts()) {
$my_query->the_post();
?>
<li><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>">
<?php the_post_thumbnail(); ?><br /><?php trim_title_words(7, '...'); ?></a></li>
<?php
}
echo '</ul>';
}
wp_reset_query();

?>
</div>


<div class="related_posts"">
<p>Похожие материалы</p>
<?php
$category_ids = array();
foreach($categories as $individual_category) $category_ids[] = $individual_category->term_id;
$args=array(
'category__in' => $category_ids,
'post__not_in' => array($post->ID),
'showposts'=>4,
'orderby'=>rand,
'caller_get_posts'=>1);
$my_query = new wp_query($args);
if( $my_query->have_posts() ) {
echo '<ul>';
while ($my_query->have_posts()) {
$my_query->the_post();
?>
<li><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>">
<?php the_post_thumbnail(); ?><br /><?php trim_title_words(7, '...'); ?></a></li>
<?php
}
echo '</ul>';
}
wp_reset_query();

}

?>
</div>

должно вывестись два блока, 1 с тегами 2 с категорий. Если выведутся оба посмотрим дальше
Сан Евгенич, да... два блока работают
Страницы: 1 2 След.
Похожие темы:
Читают тему (гостей: 1, пользователей: 0, из них скрытых: 0)
Новые темыОбъявленияСвободное общение
09:32 Индексация страниц 
19:55 SEO под нейро 
18:04 Нужна помощь советом! 
16:56 Webvork - международная товарная СРА сеть с сертифицированными офферами на Европу. 
14:47 Dao.AD: Монетизация и покупка Push/Pops/Inpage и Video трафика! 
14:23 SharkBoss - партнёрская программа для монетизации ЛЮБЫХ видов трафика (включая спам). 
09:44 SEO 2025 - контент, уже не главное. Главное - Конечная цель... 
14:01 Услуга: Поведенческие факторы (ПФ) для Авито 
13:17 Volna.money 
13:05 SpaceSwap.cc - Быстрый и надежный обменник криптовалют 
12:53 GoodsMoney.io 
12:50 Продам аккаунты HH.RU 
12:46 Продажа аккаунтов HH.RU 
04:08 Просто $0.04/IP 9PROXY.COM Резидентные прокси Неограниченная пропускная способность Уникальная политика замены Без чёрного списка 
13:10 150+ хакерских поисковых систем и инструментов 
00:10 Точные прогнозы на футбол 
17:41 Стряхнуть обыденность - об Агасфере 
10:54 Добро пожаловать в цифровой мир... 
22:39 Топ-5 способов использовать мобильные прокси для бизнеса: подробный обзор 
11:58 Куплю проигрышные букмекерские аккаунты 
00:12 Огородники