<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>tag.php &#8212; ploshadka.net</title>
	<atom:link href="https://ploshadka.net/tag/tags/feed/" rel="self" type="application/rss+xml" />
	<link>https://ploshadka.net</link>
	<description>Мир интернет технологий</description>
	<lastBuildDate>Thu, 21 Dec 2017 12:33:01 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.1</generator>
	<item>
		<title>Как в WordPress вывести только отдельные теги к записям</title>
		<link>https://ploshadka.net/wordpress-tags-separatly/</link>
					<comments>https://ploshadka.net/wordpress-tags-separatly/#comments</comments>
		
		<dc:creator><![CDATA[Admin]]></dc:creator>
		<pubDate>Wed, 15 Nov 2017 08:00:13 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[single.php]]></category>
		<category><![CDATA[tag.php]]></category>
		<guid isPermaLink="false">https://ploshadka.net/?p=1978</guid>

					<description><![CDATA[Как отобразить в WordPress один или несколько тегов для записи (статьи, поста) или категории (раздела), которые принадлежат этой записи. Стандартный вывод меток (тегов) Для вывода всех тегов (меток) у сайта на WordPress есть стандартные конструкции и его разновидности. Вывод через...]]></description>
										<content:encoded><![CDATA[<p>Как отобразить в <strong>WordPress</strong> один или несколько тегов для записи (статьи, поста) или категории (раздела), которые принадлежат этой записи. <span id="more-1978"></span></p>
<h2>Стандартный вывод меток (тегов)</h2>
<p>Для вывода всех тегов (меток) у сайта на WordPress есть стандартные конструкции и его разновидности.</p>
<p>Вывод через запятую всех меток, которые прикреплены к записи. Перед тегами будет заголовок &#171;Метки&#187;:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">&lt;?php the_tags(); ?&gt;</div></div>
<p>Меняем текст и разделитель:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">&lt;?php the_tags('Теги: '| ' &gt; '); ?&gt;</div></div>
<p>Вывод тегов списком:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">&lt;?php the_tags('&lt;ul&gt;&lt;li&gt;','&lt;/li&gt;&lt;li&gt;','&lt;/li&gt;&lt;/ul&gt;'); ?&gt;</div></div>
<h2>Нестандартный вывод меток (тегов)</h2>
<p>Что если нужно вывести не все метки, а только некоторые из них?</p>
<p>Для этих целей подойдёт следующий код:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">&lt;?php<br />
// Массив тегов для проверки<br />
$find_tags = array(<br />
&nbsp; &nbsp;'slug_name1' =&gt; 'Название_тега1',<br />
&nbsp; &nbsp;'slug_name2' =&gt; 'Название_тега2',<br />
);<br />
<br />
// Массив для хранения совпадающих тегов<br />
$found_tag = array();<br />
<br />
// Разделитель между каждым тегом<br />
$seperator = ' - ';<br />
<br />
// Если у нас есть хоть один тег<br />
if( has_tag( $find_tags ) ) :<br />
<br />
&nbsp; &nbsp; // Перебираем массив тегов<br />
&nbsp; &nbsp; foreach( $find_tags as $slug =&gt; $name ) :<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; // Если тег соответсвует перебору, добавляем к массиву данных<br />
&nbsp; &nbsp; &nbsp; &nbsp; if( has_tag( $slug ) )<br />
&nbsp; &nbsp; &nbsp;$found_tag[] = &quot;&lt;span&gt;&lt;a href='/tag/$slug/'&gt;$name&lt;/a&gt;&lt;/span&gt;&quot;;<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; continue;<br />
&nbsp; &nbsp; endforeach;<br />
<br />
&nbsp; &nbsp; // Соединяем результаты вместе используя разделитель там где это требуется<br />
&nbsp; &nbsp; echo '&lt;div class=&quot;&quot;&gt;';<br />
&nbsp; &nbsp; echo '&lt;div class=&quot;&quot;&gt;&lt;strong&gt;Конкретные метки к записи:&lt;/strong&gt;&lt;/div&gt;';<br />
&nbsp; &nbsp; echo '&lt;div class=&quot;&quot;&gt;' . implode( $seperator, $found_tag ) . '&lt;/div&gt;&lt;/div&gt;';<br />
endif;<br />
endif;<br />
?&gt;</div></div>
<p>В этом участке кода:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">'slug_name1' =&gt; 'Название_тега1',</div></div>
<p>&#171;Название тега&#187; должно соответствовать заданному в WordPress. Если вписать другое название, данная метка не будет показана.</p>
<h2>Отдельные PHP коды для вывода меток</h2>
<p>Конструкция которая может понадобиться, если следует что-то вывести, когда у записи (поста) имеются теги и когда их нет:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">&lt;?php $tag = get_the_tags();<br />
// если тегов нет, то ничего не выводит<br />
if (! $tag) { ?&gt;<br />
<br />
&lt;?php<br />
// иначе<br />
} else { ?&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&lt;?php } ?&gt;</div></div>
]]></content:encoded>
					
					<wfw:commentRss>https://ploshadka.net/wordpress-tags-separatly/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Как вывести записи (посты) по произвольному полю в WordPress</title>
		<link>https://ploshadka.net/wp_query/</link>
					<comments>https://ploshadka.net/wp_query/#comments</comments>
		
		<dc:creator><![CDATA[Admin]]></dc:creator>
		<pubDate>Sat, 21 Oct 2017 16:00:20 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[archive.php]]></category>
		<category><![CDATA[home.php]]></category>
		<category><![CDATA[page.php]]></category>
		<category><![CDATA[search.php]]></category>
		<category><![CDATA[tag.php]]></category>
		<category><![CDATA[WP_Query]]></category>
		<category><![CDATA[Основательные труды]]></category>
		<guid isPermaLink="false">https://ploshadka.net/?p=1848</guid>

					<description><![CDATA[Выводим записи (посты, статьи) в категориях (рубриках, разделах) и тегах по произвольному полю. Используем функцию WP_Query в шаблоне своего сайта на WordPress. Нижеследующие разновидности кодов были отточены практикой и временем. Было убито очень много времени на то, чтобы WP_Query заработал...]]></description>
										<content:encoded><![CDATA[<p>Выводим <strong>записи</strong> (посты, статьи) в <strong>категориях</strong> (рубриках, разделах) и <strong>тегах</strong> по произвольному полю. Используем функцию WP_Query в шаблоне своего сайта на WordPress. <span id="more-1848"></span></p>
<p>Нижеследующие разновидности кодов были отточены практикой и временем. Было убито очень много времени на то, чтобы <strong>WP_Query</strong> заработал именно так, как я от него хотел. В своем роде уникальные коды, переписывающие стандартные выводы записей WordPress. </p>
<p>Функционал этих кодов нигде больше нельзя найти (на момент публикации поста), за исключением отдельных вставок, которые являются общими рекомендациями от WordPress и некоторых участков, позаимствованных из других открытых источников.</p>
<div class="highlight">PHP коды для вывода <strong>WP_Query</strong> состоят из значений <strong>произвольного поля</strong>, которое затем по-разному <strong>сортируются</strong> и <strong>сравниваются</strong>. Дальше в тексте статьи и в самом php уже есть примечания. Если нужны будут дополнительные, то поясняется отдельно.</div>
<p>Эти php коды для вывода записей через WP_Query, для удобства, даются без конструкций <strong>if (have_posts())</strong>. Но без неё работать не будут. Правильная конструкция if (have_posts()) для этих кодов приведена ближе к окончанию статьи.</p>
<h2>1. WP_Query PHP код для вывода записей в КАТЕГОРИЯХ</h2>
<p>Самый простой вывод постов, <strong>исключающий записи из конкретных категорий</strong>. Использую его для вывода на главной странице через <strong>index.php</strong> или <strong>home.php</strong>. </p>
<p>Также этот код занесен у меня в файл <strong>empty.php</strong>. Он нужен на тот случай, если человек зашел в категорию, где не должно быть никаких записей, там не будет ничего выводиться, кроме сообщения, что он не должен был попасть на эту страницу (раздел). И предлагаются инструменты для поиска на сайте.</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">&lt;?php query_posts($query_string.'&amp;cat=-1,-169,-40,-91'); ?&gt;</div></div>
<p>Иногда в код, который выводит все статьи, но исключает определенные рубрики, требуется добавить пагинацию (&#038;paged=&#8217;.$paged;), чтобы в последний страницах навигации не было пустых страниц.</p>
<p>В коде ниже выводятся записи с сортировкой по <strong>произвольному полю с ДАТОЙ</strong>. Выводятся записи с произвольным полем год, затем сортируются от последнего года к предыдущему.</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">&lt;?php<br />
// Произвольное поле по которому будет сортировка<br />
$the_key = '1Year';<br />
$args = array(<br />
&nbsp; &nbsp; 'meta_key' =&gt; $the_key,<br />
&nbsp; &nbsp; // Сортируем по значению цифры в произвольном поле<br />
&nbsp; &nbsp; 'orderby' =&gt; 'meta_value_num',<br />
&nbsp; &nbsp; // Сортируем от большего к меньшему<br />
&nbsp; &nbsp; 'order' =&gt; 'DESC',<br />
&nbsp; &nbsp; // Исключаем категории<br />
&nbsp; &nbsp; 'cat' =&gt; '-310'<br />
);<br />
<br />
global $wp_query;<br />
query_posts(<br />
&nbsp; &nbsp; array_merge(<br />
&nbsp; &nbsp; &nbsp; &nbsp; $wp_query-&gt;query,<br />
&nbsp; &nbsp; &nbsp; &nbsp; $args<br />
&nbsp; &nbsp; )<br />
);<br />
?&gt;</div></div>
<h2>2. WP_Query PHP код для вывода постов в КАТЕГОРИИ с БЮДЖЕТОМ</h2>
<p>Следующий вывод <strong>WP_Query</strong> выводит, в категориях WordPress записи, по <strong>произвольному полю &#171;Бюджет&#187;</strong>. В этом поле находятся цифровые значения. </p>
<p>Допустим требуется вывести в категории &#171;Бюджет&#187; все записи, которые будут <strong>сортироваться от большей цифры к меньшей</strong>.</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">&lt;?php <br />
global $query_string;<br />
$paged = get_query_var( 'paged', 1 );<br />
$loop = new WP_Query( $args );<br />
$categoryvariable = $cat;<br />
$args = array(<br />
&nbsp; &nbsp; 'post_type' =&gt; 'post',<br />
&nbsp; &nbsp; 'cat' =&gt; $categoryvariable, <br />
&nbsp; &nbsp; // Исключаем категорию<br />
&nbsp; &nbsp; 'cat' &nbsp; &nbsp; &nbsp; =&gt; '-310', &nbsp;<br />
&nbsp; &nbsp; // Выводим по произвольному полю<br />
&nbsp; &nbsp; 'meta_key' &nbsp;=&gt; '1Budget2',<br />
&nbsp; &nbsp; // Нужен для правильной работы пангинации<br />
&nbsp; &nbsp; 'paged' &nbsp; &nbsp; =&gt; $paged, &nbsp;<br />
&nbsp; &nbsp; 'meta_query'=&gt; array(<br />
&nbsp; &nbsp; &nbsp; &nbsp; // Сравниваем поле бюджет с цифрой, меньше которой записи не выводить<br />
&nbsp; &nbsp; &nbsp; &nbsp; 'key' &nbsp; &nbsp; &nbsp; =&gt; '1Budget2',<br />
&nbsp; &nbsp; &nbsp; &nbsp; 'compare' &nbsp; =&gt; '&gt;=',<br />
&nbsp; &nbsp; &nbsp; &nbsp; 'value' &nbsp; &nbsp; =&gt; 100000000,<br />
&nbsp; &nbsp; &nbsp; &nbsp; 'type' &nbsp;&nbsp; &nbsp; =&gt; 'numeric',<br />
&nbsp; &nbsp; &nbsp; &nbsp; // Сравниваем, что не пустое. Если пустое - то не выводим.<br />
&nbsp; &nbsp; &nbsp; &nbsp; // 'meta_compare' =&gt; '!=',<br />
&nbsp; &nbsp; ),<br />
&nbsp; &nbsp; // Сортируем все записи по годам<br />
&nbsp; &nbsp; 'orderby' &nbsp; &nbsp;=&gt; 'meta_value_num',<br />
&nbsp; &nbsp; // От большего к меньшему<br />
&nbsp; &nbsp; 'order' &nbsp; &nbsp; &nbsp;=&gt; 'DESC', &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />
);<br />
query_posts( $args ); <br />
?&gt;</div></div>
<h2>3. WP_Query PHP код для вывода постов в разделе РЕЙТИНГ</h2>
<p>Нижеследующий код выводит все статьи с произвольным полем год, сортируя по этому произвольному полю (от последнего года, до меньшего). Одновременно с этим исключает все записи из категорий меньше значения рейтинга 9.</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">&lt;?php<br />
global $query_string;<br />
$paged = get_query_var( 'paged', 1 );<br />
$loop = new WP_Query( $args );<br />
$categoryvariable = $cat;<br />
$args = array(<br />
&nbsp; &nbsp; 'post_type' =&gt; 'post',<br />
&nbsp; &nbsp; 'cat' =&gt; $categoryvariable,<br />
&nbsp; &nbsp; // Выводим по произвольному полю<br />
&nbsp; &nbsp; 'meta_key' =&gt; '1Year',<br />
&nbsp; &nbsp; // Нужен для правильной работы пангинации<br />
&nbsp; &nbsp; 'paged' =&gt; $paged,<br />
&nbsp; &nbsp; 'meta_query'=&gt; array(<br />
&nbsp; &nbsp; &nbsp; &nbsp; // Сравниваем поле РЕЙТИНГА с цифрой, меньше которой записи не выводить<br />
&nbsp; &nbsp; &nbsp; &nbsp; 'key' &nbsp; &nbsp; &nbsp; =&gt; '1myRaiting',<br />
&nbsp; &nbsp; &nbsp; &nbsp; 'compare' &nbsp; =&gt; '&gt;=',<br />
&nbsp; &nbsp; &nbsp; &nbsp; 'value' &nbsp; &nbsp; =&gt; 9,<br />
&nbsp; &nbsp; &nbsp; &nbsp; 'type' &nbsp;&nbsp; &nbsp; =&gt; 'numeric',<br />
&nbsp; &nbsp; ),<br />
&nbsp; &nbsp; // Сортируем все записи по годам<br />
&nbsp; &nbsp; 'orderby' &nbsp; &nbsp;=&gt; 'meta_value_num',<br />
&nbsp; &nbsp; // От большего к меньшему<br />
&nbsp; &nbsp; 'order' &nbsp; &nbsp; &nbsp;=&gt; 'DESC', &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />
);<br />
query_posts( $args ); <br />
?&gt;</div></div>
<h2>4. WP_Query PHP код для вывода постов в КАТЕГОРИИ с ДАТОЙ</h2>
<p>В php коде ниже вводятся две переменные с ДАТАМИ. Текущая дата сравнивается с датой, которая будет в будущем. </p>
<p>Для чего это нужно? Например, я хочу вывести <strong>ТОВАРЫ</strong>, которые только <em>поступят в продажу</em> или <strong>ФИЛЬМЫ</strong>, которые только <em>выйдут в ближайшем будущем</em>. Если, например, такие ТОВАРЫ или ФИЛЬМЫ или ЧТО-ТО другое существует, то следует вывести ЗАПИСИ с этими произвольными полям. В противном случае в категории ничего не будет выводиться.</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">&lt;?php <br />
global $query_string;<br />
$paged = get_query_var( 'paged', 1 );<br />
$loop = new WP_Query( $args );<br />
$categoryvariable = $cat;<br />
// Вводим свои значения<br />
// Текущая дата<br />
$date1 = date('Y-m-d');<br />
// Текущая дата + 12 месяцев<br />
$date2 = date('Y-m-d', strtotime('+12 month'));<br />
$args = array(<br />
'post_type' =&gt; 'post',<br />
'cat' =&gt; $categoryvariable, <br />
// Выводим по произвольному полю<br />
'meta_key' &nbsp;=&gt; 'premiere', <br />
// Нужен для правильной работы пангинации<br />
'paged' &nbsp; &nbsp; =&gt; $paged, <br />
'orderby' &nbsp; =&gt; 'meta_value', &nbsp; &nbsp;<br />
'order' &nbsp; &nbsp; =&gt; 'ASC',<br />
'meta_query'=&gt; array(<br />
&nbsp; &nbsp; 'key' &nbsp; &nbsp; &nbsp; =&gt; 'premiere',<br />
&nbsp; &nbsp; // Сравниваем значения двух дат<br />
&nbsp; &nbsp; 'value' &nbsp; &nbsp; =&gt; array($date1,$date2),<br />
&nbsp; &nbsp; // Обозначаем, что будет дата, формат ГодМесяцДень<br />
&nbsp; &nbsp; 'type'&nbsp; &nbsp; &nbsp; =&gt; 'DATE',<br />
&nbsp; &nbsp; // Сравниваем две даты, пример вывода: array('20500401','20500405') <br />
&nbsp; &nbsp; 'compare' &nbsp; =&gt; 'BETWEEN'<br />
&nbsp; &nbsp; // Сравниваем, что не пустое. Если пустое - то не выводим.<br />
&nbsp; &nbsp; // 'meta_compare' =&gt; '!=',<br />
), &nbsp; &nbsp; &nbsp; <br />
);<br />
query_posts( $args ); <br />
?&gt;</div></div>
<h2>5. WP_Query PHP код для вывода записей в разделе ТЕГОВ</h2>
<p>Вывод записей в тегах, в отличии от категорий, немного другой. По какой-то причине, в тегах не работает функция исключающая категории из WP_Query:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">'cat' =&gt; '-310'</div></div>
<p>К счастью, работает другая структура:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">'category__not_in' =&gt; '310'</div></div>
<p>И код вывода $wp_query для тегов будет такой:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">&lt;?php<br />
// Произвольное поле по которому будет сортировка<br />
$the_key = '1Year';<br />
$args = array(<br />
&nbsp; &nbsp; 'meta_key' =&gt; $the_key,<br />
&nbsp; &nbsp; // Сортируем по значению цифры в произвольном поле<br />
&nbsp; &nbsp; 'orderby' =&gt; 'meta_value_num',<br />
&nbsp; &nbsp; // Сортируем от большего к меньшему<br />
&nbsp; &nbsp; 'order' =&gt; 'DESC',<br />
&nbsp; &nbsp; // Исключаем категории<br />
&nbsp; &nbsp; 'category__not_in' =&gt; '310'<br />
);<br />
global $wp_query;<br />
query_posts(<br />
&nbsp; &nbsp; array_merge(<br />
&nbsp; &nbsp; &nbsp; &nbsp; $wp_query-&gt;query,<br />
&nbsp; &nbsp; &nbsp; &nbsp; $args<br />
&nbsp; &nbsp; )<br />
);<br />
?&gt;</div></div>
<h2>6. WP_Query PHP код для вывода записей в разделе ПОИСКА</h2>
<p>Для вывода WP_Query на странице поиска используем совершенно иной код:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">&lt;?php<br />
// использую совместно с функцией SearchFilter в Functions.php<br />
$mySearch =&amp; new WP_Query(&quot;s=$s &amp; showposts=-1&quot;);<br />
// Подсчет количества найденного:<br />
$num = $mySearch-&gt;post_count;<br />
echo &quot;Найдено: &quot;;<br />
echo $num;<br />
echo &quot;записей&quot;;<br />
wp_reset_query(); <br />
?&gt;</div></div>
<p>Для специальной обработки запроса <strong>WP_Query</strong> в файле <strong>search.php</strong> добавляем в файл <strong>functions.php</strong> своей темы следующий код:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">// Сортировка по годам для search.php<br />
function SearchFilter($query) {<br />
&nbsp; &nbsp; if ($query-&gt;is_search) {<br />
&nbsp; &nbsp; &nbsp; &nbsp; // Ищет только в постах, но не на страницах<br />
&nbsp; &nbsp; &nbsp; &nbsp; $query-&gt;set('post_type', 'post');<br />
&nbsp; &nbsp; &nbsp; &nbsp; // Происходит сортировка по году<br />
&nbsp; &nbsp; &nbsp; &nbsp; $query-&gt;set('meta_key', '1Year');<br />
&nbsp; &nbsp; &nbsp; &nbsp; // Который является значением номера<br />
&nbsp; &nbsp; &nbsp; &nbsp; $query-&gt;set('orderby', 'meta_value_num');<br />
&nbsp; &nbsp; &nbsp; &nbsp; // И сортируется в обратном порядке<br />
&nbsp; &nbsp; &nbsp; &nbsp; $query-&gt;set('order', 'DESC');<br />
&nbsp; &nbsp; }<br />
&nbsp; &nbsp; return $query;<br />
}<br />
add_filter('pre_get_posts','SearchFilter');</div></div>
<p>Он сортирует записи в категории <strong>ПОИСК</strong> по <strong>произвольному полю ГОДЫ</strong>.</p>
<h2>В заключение. Очень важно.</h2>
<p>После любого из перечисленных выше кодов (кроме того что в <strong>functions.php</strong>) нужно вывести следующую функцию:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">&lt;?php if (have_posts()) : while (have_posts()) : the_post(); ?&gt;<br />
&lt;?php endwhile; ?&gt;<br />
&lt;? wp_reset_postdata(); ?&gt;<br />
&lt;?php else: ?&gt;<br />
&lt;?php endif; ?&gt;</div></div>
<p>Обязательная нужна такая конструкция:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">&lt;? wp_reset_postdata(); ?&gt;</div></div>
<p>Это необходимо, чтобы не выводить пустые страницы, когда <strong>следует исключить записи из определенных рубрик <em>на основании сравнения</em></strong>.</p>
<h2>7. Код для главной страницы (раздела) для вывода и РАЗДЕЛЕНИЯ записей по ТЕГАМ</h2>
<p>Следующая конструкция выводит записи из категории 27. Сортирует их случайно. Выводит 4 записи.</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">&lt;?php <br />
global $query_string;<br />
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;<br />
$loop = new WP_Query( $args );<br />
$tagvariable = $tag;<br />
$args = 'tag=' . $tagvariable . '&amp;tag_id=27&amp;orderby=rand&amp;posts_per_page=4';<br />
query_posts( $args );<br />
?&gt;<br />
<br />
&lt;?php if (have_posts()) : while (have_posts()) : the_post(); ?&gt;<br />
<br />
&lt;?php get_template_part( '/random' ); ?&gt;<br />
<br />
&lt;?php endwhile; ?&gt;<br />
&lt;?php endif; ?&gt;<br />
&lt;?php wp_reset_query(); <br />
// Аннулирует данные произвольного запроса WP_Query <br />
// Если после цикла используется функция wp_reset_query() для &quot;сброса&quot; данных, <br />
// то wp_reset_postdata() использовать не нужно! <br />
?&gt;</div></div>
<p>В конструкции выше код отвечающий за вывод поста находится в отдельном файле:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">&lt;?php get_template_part( '/random' ); ?&gt;</div></div>
<div class="highlight">Вышеприведенную конструкцию можно размещать на главной или в любых других разделах сколько угодно раз.</div>
<h2>8. PHP для вывода и РАЗДЕЛЕНИЯ записей по РАЗДЕЛАМ</h2>
<p>Тот же самый код, но для вывода записей из РАЗДЕЛОВ, а не ТЕГОВ. Значения вывода (<strong>$args</strong>) изменены на другие. В том числе учтена пагинация (<strong>&#038;paged=&#8217;.$paged;</strong>), в конструкции выше она исключена из работы.</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">&lt;?php <br />
global $query_string;<br />
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;<br />
$loop = new WP_Query( $args );<br />
$categoryvariable = $cat;<br />
$args = 'cat=' . $categoryvariable . '&amp;meta_key=1Year&amp;orderby=meta_value_num&amp;order=DESC&amp;paged='.$paged;<br />
query_posts( $args );<br />
?&gt;<br />
<br />
&lt;?php if (have_posts()) : while (have_posts()) : the_post(); ?&gt;<br />
<br />
&lt;?php get_template_part( '/random' ); ?&gt;<br />
<br />
&lt;?php endwhile; ?&gt;<br />
&lt;?php endif; ?&gt;<br />
&lt;?php wp_reset_query(); <br />
// Аннулирует данные произвольного запроса WP_Query <br />
// Если после цикла используется функция wp_reset_query() для &quot;сброса&quot; данных, <br />
// то wp_reset_postdata() использовать не нужно! <br />
?&gt;</div></div>
<h2>9. Выводим один конкретный пост</h2>
<p>Типовые конструкции для вывода одного определенного поста. В данном случае будет выведен пост с номером 1. Под конец wp_reset_postdata сбрасывает вывод WP_Query, так что можно выводить и любые другие посты.</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">$the_query = new WP_Query('p=1');<br />
<br />
while ($the_query-&gt;have_posts() ) : $the_query-&gt;the_post();<br />
<br />
the_content();<br />
<br />
edit_post_link(__('...', 'ploshadka.net'));<br />
<br />
endwhile;<br />
<br />
wp_reset_postdata();</div></div>
<h2 id="premiere_ru">10. Вывод записей с незаполненным произвольным полем</h2>
<p>Можно вывести записи с пустым значением в конкретном произвольном поле. Иногда такой способ помогает найти все записи с незаполненными значениями. Как альтернатива <a href="https://ploshadka.net/mysql-replacement/">поиска данных через MySQL</a>.</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">&lt;?php<br />
$the_key = 'premiere_ru';<br />
$args = array(<br />
&nbsp; &nbsp; 'meta_query' =&gt; array(<br />
&nbsp; &nbsp; &nbsp; &nbsp; array(<br />
&nbsp; &nbsp; &nbsp; &nbsp; 'key' =&gt; $the_key,<br />
&nbsp; &nbsp; &nbsp; &nbsp; 'compare' =&gt; 'not exists',<br />
&nbsp; &nbsp; &nbsp; &nbsp; 'value' =&gt; null,<br />
&nbsp; &nbsp; &nbsp; &nbsp; ),<br />
&nbsp; &nbsp; )<br />
);<br />
<br />
global $wp_query;<br />
query_posts(<br />
&nbsp; &nbsp; array_merge(<br />
&nbsp; &nbsp; &nbsp; &nbsp; $wp_query-&gt;query,<br />
&nbsp; &nbsp; &nbsp; &nbsp; $args<br />
&nbsp; &nbsp; )<br />
);<br />
<br />
if ( have_posts() ) : while ( have_posts() ) : the_post();<br />
<br />
get_template_part( '/ploshadka.net' ); <br />
endwhile;<br />
endif;<br />
wp_reset_query();<br />
?&gt;</div></div>
<h2>11. Выводим одну конкретную страницу</h2>
<p>В заключение как можно вывести вместо записи содержимое страницы. Выводим страницу с ID 130:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">$id = 130;<br />
$p = get_page($id);<br />
$t = $p-&gt;post_title;<br />
echo '&lt;h2 class=&quot;home-top-title&quot;&gt;'.apply_filters('post_title', $t).'&lt;/h2&gt;';<br />
echo apply_filters('the_content', $p-&gt;post_content);</div></div>
]]></content:encoded>
					
					<wfw:commentRss>https://ploshadka.net/wp_query/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Как добавить в WordPress метку или раздел по умолчанию</title>
		<link>https://ploshadka.net/kak-dobavit-v-wordpress-metku-ili-razdel-po-umolchaniju/</link>
					<comments>https://ploshadka.net/kak-dobavit-v-wordpress-metku-ili-razdel-po-umolchaniju/#respond</comments>
		
		<dc:creator><![CDATA[Admin]]></dc:creator>
		<pubDate>Mon, 17 Apr 2017 08:00:33 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[archive.php]]></category>
		<category><![CDATA[tag.php]]></category>
		<guid isPermaLink="false">https://ploshadka.net/?p=184</guid>

					<description><![CDATA[PHP код присваивающий записям метку (тег) или рубрику (раздел) по умолчанию. Если всем статьям должна присваиваться одна определенная категория или тег, то это можно автоматизировать. В файл functions.php своей темы шаблона WordPress надо добавить следующий код: add_action( 'wp_insert_post', 'update_post_terms' );...]]></description>
										<content:encoded><![CDATA[<p><strong>PHP код</strong> присваивающий записям метку (тег) или рубрику (раздел) по умолчанию. <span id="more-184"></span></p>
<p>Если всем статьям должна присваиваться одна определенная категория или тег, то это можно автоматизировать. В файл <strong>functions.php</strong> своей темы шаблона <strong>WordPress</strong> надо добавить следующий код:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">add_action( 'wp_insert_post', 'update_post_terms' );<br />
function update_post_terms($post_id) {<br />
<br />
&nbsp; &nbsp; // если это ревизия, получаем родительский идентификатор:<br />
&nbsp; &nbsp; if ($parent = wp_is_post_revision($post_id)) :<br />
&nbsp; &nbsp; &nbsp; &nbsp; $post_id = $parent;<br />
&nbsp; &nbsp; endif;<br />
&nbsp; &nbsp; $post = get_post($post_id);<br />
&nbsp; &nbsp; &nbsp;<br />
&nbsp; &nbsp; // проверка на запись, а иначе завершить работу:<br />
&nbsp; &nbsp; if ($post-&gt;post_type != 'post') :<br />
&nbsp; &nbsp; &nbsp; &nbsp; return;<br />
&nbsp; &nbsp; endif;<br />
&nbsp; &nbsp; &nbsp;<br />
&nbsp; &nbsp; // метка по умолчанию:<br />
&nbsp; &nbsp; // wp_set_post_terms($post_id, 'метка', 'post_tag', true);<br />
&nbsp; &nbsp; &nbsp;<br />
&nbsp; &nbsp; // рубрика по умолчанию:<br />
&nbsp; &nbsp; $categories = wp_get_post_categories($post_id);<br />
&nbsp; &nbsp; $newcat = get_term_by('name', 'premiere', 'category');<br />
&nbsp; &nbsp; array_push($categories, $newcat-&gt;term_id);<br />
&nbsp; &nbsp; wp_set_post_categories($post_id, $categories);<br />
}</div></div>
]]></content:encoded>
					
					<wfw:commentRss>https://ploshadka.net/kak-dobavit-v-wordpress-metku-ili-razdel-po-umolchaniju/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Глобальное удаление категорий из других категорий и тегов</title>
		<link>https://ploshadka.net/globalnoe-udalenie-kategorijj-iz-drugikh-kategorijj-i-tegov/</link>
					<comments>https://ploshadka.net/globalnoe-udalenie-kategorijj-iz-drugikh-kategorijj-i-tegov/#respond</comments>
		
		<dc:creator><![CDATA[Admin]]></dc:creator>
		<pubDate>Fri, 07 Apr 2017 13:38:15 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[archive.php]]></category>
		<category><![CDATA[tag.php]]></category>
		<guid isPermaLink="false">https://ploshadka.net/?p=147</guid>

					<description><![CDATA[Одна и та же статья может находится в разных разделах сайта на WordPress. Иногда требуется, чтобы статьи определённого раздела не выводились в конкретных других разделах. При этом требуется, чтобы в сами эти разделы эта статья входила. Зачем может понадобится такая...]]></description>
										<content:encoded><![CDATA[<p>Одна и та же статья может находится в разных разделах сайта на <strong>WordPress</strong>. Иногда требуется, чтобы статьи определённого раздела <strong>не</strong> выводились в конкретных других разделах. При этом требуется, чтобы в сами эти разделы эта статья входила. <span id="more-147"></span></p>
<p>Зачем может понадобится такая &#171;каша&#187;? Ведь можно сразу не добавлять статью в раздел, в котором не хочется её выводить.</p>
<p>Как ни странно, это всё же может потребоваться. Иногда необходимо статью пометить названиями разделов, потому что она к ним соотносится. И эта статья будет видна, скажем на главной странице, но в других конкретных разделах её показывать не нужно.</p>
<p>Для такой задачи используем следующий код в файле <strong>functions.php</strong>:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">// Удаление категорий 71 из других категорий и тегов<br />
function exclude_category( $query ) {<br />
if ( $query-&gt;is_category(array(name_cat1,name_cat2)) || is_tag() ) <br />
{<br />
$query-&gt;set('cat', '-71'); &nbsp;<br />
}<br />
return $query;<br />
} <br />
add_filter('pre_get_posts', 'exclude_category');</div></div>
<p>где:<br />
<strong>name_cat1,name_cat2</strong> &#8212; перечисленные навания (slug) категорий в которых требуется статью не отображать.</p>
<p><strong>-71</strong> &#8212; ID раздела, который следует исключить из вышеприведенных категорий.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ploshadka.net/globalnoe-udalenie-kategorijj-iz-drugikh-kategorijj-i-tegov/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Подсветка облака текущей метки в WordPress</title>
		<link>https://ploshadka.net/podsvetka-oblaka-tekushhejj-metki-v-wordpress/</link>
					<comments>https://ploshadka.net/podsvetka-oblaka-tekushhejj-metki-v-wordpress/#respond</comments>
		
		<dc:creator><![CDATA[Admin]]></dc:creator>
		<pubDate>Thu, 06 Apr 2017 08:00:08 +0000</pubDate>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[sidebar.php]]></category>
		<category><![CDATA[tag.php]]></category>
		<guid isPermaLink="false">https://ploshadka.net/?p=149</guid>

					<description><![CDATA[PHP код для подсветки облака текущей метки (тега) сайта на WordPress. Для выделения текущей метки в WordPress, если вы находитесь в её разделе, в файл functions.php шаблона своей темы, нужно добавить следующий код: // Подсветка облака текущей метки add_filter( 'wp_tag_cloud',...]]></description>
										<content:encoded><![CDATA[<p><strong>PHP код</strong> для <strong>подсветки облака текущей метки</strong> (тега) сайта на <strong>WordPress</strong>. <span id="more-149"></span></p>
<p>Для выделения текущей метки в WordPress, если вы находитесь в её разделе, в файл <strong>functions.php</strong> шаблона своей темы, нужно добавить следующий код:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">// Подсветка облака текущей метки<br />
add_filter( 'wp_tag_cloud', 'my_highlight_tags' );<br />
function my_highlight_tags($cloud) {<br />
&nbsp; &nbsp; global $wpdb;<br />
&nbsp; &nbsp; $tags = single_tag_title('', false);<br />
&nbsp; &nbsp; $tags_array = explode(&quot; + &quot;, $tags);<br />
&nbsp; &nbsp; foreach ($tags_array as $tag_name) {<br />
&nbsp; &nbsp; &nbsp; &nbsp; $tag_id = $wpdb-&gt;get_var(&quot;SELECT term_id FROM $wpdb-&gt;terms WHERE name = '&quot;.$tag_name.&quot;'&quot;);<br />
&nbsp; &nbsp; &nbsp; &nbsp; $cloud = str_replace( &quot;tag-link-$tag_id&quot;, &quot;current-cat&quot;, $cloud);<br />
&nbsp; &nbsp; }<br />
&nbsp; &nbsp; return $cloud;<br />
}</div></div>
<p>где <strong>current-cat</strong> &#8212; это стиль по умолчанию, который использует WordPress для выделения текущей категории. Вид этого стиля можно изменить в файле css. Или можно поменять его название и описать к нему новые свойства.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ploshadka.net/podsvetka-oblaka-tekushhejj-metki-v-wordpress/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>HTML теги в описании категорий и меток WordPress</title>
		<link>https://ploshadka.net/html-tegi-v-opisanii-kategorijj-i-metok-wordpress/</link>
					<comments>https://ploshadka.net/html-tegi-v-opisanii-kategorijj-i-metok-wordpress/#respond</comments>
		
		<dc:creator><![CDATA[Admin]]></dc:creator>
		<pubDate>Wed, 22 Mar 2017 08:00:13 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[archive.php]]></category>
		<category><![CDATA[tag.php]]></category>
		<guid isPermaLink="false">https://ploshadka.net/?p=168</guid>

					<description><![CDATA[Дополнительные возможности при работе с описанием в категориях и тегах WordPress. Добавляем HTML теги в описание рубрик и меток По умолчанию WordPress вырезает HTML теги из описаний разделов и меток. HTML вырезается с помощью двух функций &#8212; wp_filter_kses() и wp_kses_data()....]]></description>
										<content:encoded><![CDATA[<p>Дополнительные возможности при работе с описанием в категориях и тегах WordPress.<span id="more-168"></span></p>
<h2>Добавляем HTML теги в описание рубрик и меток</h2>
<p>По умолчанию <strong>WordPress</strong> вырезает <strong>HTML теги</strong> из описаний разделов и меток. HTML вырезается с помощью двух функций &#8212; <strong>wp_filter_kses()</strong> и <strong>wp_kses_data()</strong>. Следовательно нужно выключить эти функции в WordPress.</p>
<p>В файл functions.php добавляем:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">// Разрешаем употребление HTML тегов в описании рубрик и меток<br />
remove_filter('pre_term_description', 'wp_filter_kses');<br />
remove_filter('pre_term_description', 'wp_kses_data');</div></div>
<h2>Убираем HTML тег p из описания рубрик и меток</h2>
<p>Вывод описания категорий:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">&lt;php? echo category_description(); ?&gt;</div></div>
<p>Для вырезки HTML тега p из описания этой функции нужно добавить:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">// Убираем тег &lt;p&gt;&lt;/p&gt; из description в мета тегах<br />
remove_filter('term_description', 'wpautop');</div></div>
<h2>Как убрать HTML из мета описания WordPress</h2>
<p>Если HTML разрешены, но эта же функция генерирует описание в мета тег description WordPress, то следующая команда убирает HTML из неё:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">// Убирает HTML из описания category_description<br />
function my_strip_tags($category_description='') {<br />
&nbsp; &nbsp;return strip_tags($category_description, '');<br />
}<br />
add_filter('category_description','my_strip_tags');</div></div>
]]></content:encoded>
					
					<wfw:commentRss>https://ploshadka.net/html-tegi-v-opisanii-kategorijj-i-metok-wordpress/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
