Отредактировать простой кусок php кода
34 сообщения
#8 лет назад
Здравствуйте.Пытаюсь отредактировать кусочек кода для виджета WPP. В php полный ноль, поэтому буду благодарен вашей помощи.
Есть стандартный код для вставки в сайдбар через файл sidebar.php
<?php
$args = array(
'limit' => 5,
'post_html' => '<li>{thumb}</li>'
);
wpp_get_mostpopular( $args );
?>
Необходимо вместо {thumb} вставить следующий код:
<a href="<?php the_permalink(); ?>" class="thumb-preview" rel="<?php zt_get_thumbnail2(); ?>"><img src="<?php zt_get_thumbnail(); ?>" alt="<?php the_title(); ?>" class="img250" /></a>
чтобы при наведении на миниатюру появлялась увеличенная превьюшка.
Спасибо!
834 сообщения
#8 лет назад
<?php
$args = array(
'limit' => 5,
'post_html' => '<li><a href="'.the_permalink().'" class="thumb-preview" rel="'. zt_get_thumbnail2().'"><img src="'.zt_get_thumbnail().'" alt="'.the_title().'" class="img250" /></a>'
);
wpp_get_mostpopular( $args );
?>
34 сообщения
#8 лет назад
Или можно проще - в этот кодКод:
/*
* Display the title and the publish date
*/
function my_custom_single_popular_post( $post_html, $p, $instance ){
$output = '<li><a href="' . get_the_permalink($p->id) . '" class="my-custom-title-class" title="' . esc_attr($p->title) . '">' . $p->title . '</a> <div class="my-custom-date-class">' . date( 'Y-m-d', strtotime($p->date) ) . '</div></li>';
return $output;
}
add_filter( 'wpp_post', 'my_custom_single_popular_post', 10, 3 );
добавить между <li></li> этот код
<a href="<?php the_permalink(); ?>" class="thumb-preview" rel="<?php zt_get_thumbnail2(); ?>"><img src="<?php zt_get_thumbnail(); ?>" alt="<?php the_title(); ?>" class="img250" /></a>
micros, я изначально копировал с убранным php возле permalinks

Код все равно не работает, увы

834 сообщения
#8 лет назад
- <?php
- $args = array(
- 'limit' => 5,
- 'post_html' => '<li><a href="'. echo the_permalink().'" class="thumb-preview" rel="'. echo zt_get_thumbnail2().'"><img src="'. echo zt_get_thumbnail().'" alt="'. echo the_title().'" class="img250" /></a>'
- );
- wpp_get_mostpopular( $args );
- ?>
так попробуйте, хотя the_permalink - и так должна выводить=)) Значит не в том месте вы код ставите=)
34 сообщения
#8 лет назад
micros, не работает 
Ставлю, конечно, в том месте (sidebar.php), на это у меня знаний хватает

34 сообщения
#8 лет назад
Эмм, мне кажется второй вариант проще и именно его рекомендуют на сайте автора использовать через function.php.Подскажите, как в этом коде
$output = '<li><a href="' . get_the_permalink($p->id) . '" class="my-custom-title-class" title="' . esc_attr($p->title) . '">' . $p->title . '</a> <div class="my-custom-date-class">' . date( 'Y-m-d', strtotime($p->date) ) . '</div></li>';
заменить все, что внутри <li></li> на этот код:
<a href="<?php the_permalink(); ?>" class="thumb-preview" rel="<?php zt_get_thumbnail2(); ?>"><img src="<?php zt_get_thumbnail(); ?>" alt="<?php the_title(); ?>" class="img250" /></a>
834 сообщения
#8 лет назад
Ну так замените, в прошлом коде и есть эта часть <li>Я понял в чем косяк=) вы используете не в цикле, а передаете в функцию=)
the_permalink - она не возвращает значение а выводит, поэтому в функцию ничего не передается=) надо использовать get_the_permalink для оставльных функции в строке тоже найти функции которые возвращают, а не выводят
по остальным функциям тоже надо смотреть ман, что бы сделать
34 сообщения
#8 лет назад
micros, если просто заменить, то отображается с ошибками, т.к. в ссылках php код.
834 сообщения
#8 лет назад
$args = array(заработает если zt_get_thumbnail и zt_get_thumbnail2 возвращают а не выводят ссылки на картинки)
'limit' => 5,
'post_html' => '<li><a href="'.get_the_permalink().'" class="thumb-preview" rel="'. zt_get_thumbnail2().'"><img src="'.zt_get_thumbnail().'" alt="'. get_the_title().'" class="img250" /></a>'
);
wpp_get_mostpopular( $args );
34 сообщения
#8 лет назад
micros, не сработало 
Ладно, спасибо, что пытались помочь. Видимо, здесь все намного сложнее, чем я думал.