Помогите, пожалуйста, сделать функцию из повторяющегося кода для вордпресса

В
На сайте с 26.07.2007
Offline
42
506

Как из этого сделать функцию?

Коллеги, помогите, пожалуйста: есть код с входными параметрами. В темплейте страницы раз 10 использую этот код, меняя только параменты.

Как превратить этот код в функцию в файле function.php и потом обращаться к функции. Надо для: чистоты кода, сокращения кода в темплейте и вообще сокращении ошибок при использовании повторяющегося код. Своих знаний написания функции не хватает=( Спасибо за помощь заранее!

Код

<?php $args = array('post_type'=> 'post', 'PARAMETER1' => 'PARAMETER2', 'order' => 'ASC', 'posts_per_page' => 5,);

query_posts($args ); if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

<p><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a>

<?php $block_1 = get_custom_field('PARAMETER3'); if( $block_1 ) {?>

<?php echo $block_1; ?>

<?php } ?></p>

<?php endwhile; endif; ?>

<?php wp_reset_query(); ?>

Милованов Ю.С
На сайте с 24.01.2008
Offline
196
#1

Нах зачем в функцию?


<?php
function StupidWork($param1, $param2, $param3)
{
$return = '';
$args = array('post_type'=> 'post', $param1 => $param2, 'order' => 'ASC', 'posts_per_page' => 5,);
query_posts($args);
if (have_posts())
{
while (have_posts())
{
the_post();
$return .= '<p><a href="' .the_permalink() .'" rel="bookmark" title="' .the_title_attribute() .'">' .the_title() .'</a>';
$block_1 = get_custom_field($param3);
if( $block_1 )
{
$return .= $block_1;
}
$return .= '</p>';
}
}
wp_reset_query();
RETURN $return;
}
?>
Подпись))
В
На сайте с 26.07.2007
Offline
42
#2

Добрый человек, спасибо Вам, круто!

в функцию хотела разместь, т.к. в разных темплейтах использую этот кусок.Делаю обращение вот так

<?php StupidWork(AA1, AA2, AA3); ?>

Итог: выбирает правильные посты. Не подцепляет третий параметр из поста - это касмом фил (текст). Выводит не правильно, не цепляет ссылку. вывод идет обычным текстом по всему отобранному массиву.

УРЛНАЗВАНИЕ УРЛНАЗВАНИЕ УРЛНАЗВАНИЕ

Не пойму, что делаю неправильно.. Спасибо Вам!

SeVlad
На сайте с 03.11.2008
Offline
1609
#3
Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
Милованов Ю.С
На сайте с 24.01.2008
Offline
196
#4

<?php echo StupidWork(AA1, AA2, AA3); ?>

В
На сайте с 26.07.2007
Offline
42
#5

Спасибо, поправила. Теперь выводится и описание, но пока все равно что-то не работает с форматом вывода.

Идет так:

УРЛКАКТЕКСТНАЗВАНИЕПОСТА УРЛКАКТЕКСТНАЗВАНИЕПОСТА УРЛКАКТЕКСТНАЗВАНИЕПОСТА

описание 1

описание 2

описание 3

А задумывалось как

Название поста 1 (пермалинк) описание 1

Название поста 2 (пермалинк) описание 2

Название поста 3 (пермалинк) описание 3

Как-то вывод можно подкрутить? Спасибо за подсказки, вижу, что результат близко!

---------- Добавлено 12.04.2013 в 17:40 ----------

Все получилось! Модифицировала немного код выдачи, может не оптимально, но работает, как хотелось! СПАСИБО!

query_posts($args);
if (have_posts())
{
while (have_posts())
{
$return = '';
the_post();
echo '<p><a href="' .get_permalink(). '" rel="bookmark">' .the_title('', '', 0). '</a> ';

$block_1 = get_custom_field($param3);
if( $block_1 )
{
$return .= $block_1;
}
$return .= '</p>';
print $return;

}

}
wp_reset_query();

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий