reset_timedout_connection on; # 1
client_body_timeout 5; # 2
send_timeout 2; # 3
Думал уже как вордпрещики архивами все делать
function ads_h2( $content ) {
// Хорошая практика, называется "return early"
if ( ! is_single() ) {
return $content;
}
// Заготовили код рекламы
$ad = '[AD]';
// Инициализировали счетчик
$count = 1; // 0 или 1, по ситуации
// Делаем замену через коллбек
$content = preg_replace_callback(
'#<h2(.*?)</h2>#',
// С помощью use передаем в замыкание дополнительные параметры
function( $matches ) use ( &$count, $ad ) {
// Увеличиваем счетчик
$count++;
// Если число четное, добавляем рекламу
if ( $count % 2 == 0 ) {
return '<div class="ads_content">' . $matches[0] . $ad . '</div>';
// Если нечетное - ничего не делаем
} else {
return $matches[0];
}
},
$content
);
// Вернули измененный контент
return $content;
}
add_filter( 'the_content', 'ads_h2' );
if ( $count % 2 == 0 ) {
вместо 2 на, скажем, 3 или 4, то реклама будет выводиться, соответственно, в каждом 3м или 4м подзаголовке.
'number'
(int|string) Maximum number of terms to return. Accepts ''|0 (all) or any positive number. Default ''|0 (all).
$args = array(
...
'number' => 10, // нужное количество (максимальное)
...
);
$cats = get_categories($args);
$category = get_term($cat)
echo get_cat_name($category->term_id);
$args = array(
'parent' => 0,
'hide_empty' => 0,
'exclude' => array( 11, 1 ),
'number' => 10,
'taxonomy' => 'category',
'posts_per_page' => 1,
'pad_counts' => true
);
$cats = get_categories( $args );
foreach( $cats as $cat ) :
echo $cat->name;
echo $cat->description;
endforeach;