Методы php get и post, переменная $_request
Содержание:
- Что такое HTML?
- Post и Get запросы, какая между ними разница и что лучше и для каких целей?
- POST
- The $_REQUEST variable
- Source #Source
- Ключевые различия между GET и POST методом в HTML
- Related #Related
- HTML Теги
- 2) Цикл на основе WP_Query()
- Передача переменных при помощи метода GET
- Как работает запрос Conditional GET
- Использование функции get_posts для вывода записей WordPress
Что такое HTML?
HTML — это язык, используемый для создания веб-страниц. Гипертекст относится к гиперссылкам, которые может содержать HTML-страница. Язык разметки означает способ использования тегов для определения макета страницы и элементов на странице.Ниже приведен пример HTML, который используется для определения базовой веб-страницы с заголовком и одним абзацем текста:
<! doctype html><HTML><Голова><Название> TechTerms.com </ название></ HEAD><Тело><p> Это пример абзаца в HTML. </ p></ Body></ Html>
Первая строка определяет тип содержимого, содержащегося в документе. <! doctype html> означает, что страница написана в HTML5. Правильно отформатированные HTML-страницы должны включать теги <html>, <head> и <body>, которые все включены в пример выше. Заголовок страницы, метаданные и ссылки на файлы с привязкой помещаются между тегами <head>. Фактическое содержимое страницы находится между тегами <body>.
За последние несколько десятилетий сеть пережила множество изменений, но HTML всегда был основным языком, используемым для разработки веб-страниц. Интересно, что хотя веб-сайты стали более продвинутыми и интерактивными, HTML стал проще. Если вы сравниваете источник страницы HTML5 с аналогичной страницей, написанной в HTML 4.01 или XHTML 1.0, на странице HTML5 будет меньше кода. Это связано с тем, что современный HTML опирается на каскадные таблицы стилей или JavaScript для форматирования почти всех элементов внутри страницы.
Многие динамические веб-сайты генерируют веб-страницы «на лету», используя серверный язык сценариев, такой как PHP или ASP. Однако даже динамические страницы должны быть отформатированы с использованием HTML. Поэтому языки сценариев часто генерируют HTML-код, который отправляется в веб-браузер.
Post и Get запросы, какая между ними разница и что лучше и для каких целей?
тело сообщения (Entity Body) – необязательный параметр
Строка запроса – указывает метод передачи, URL-адрес, к которому нужно обратиться и версию протокола HTTP.
Заголовки – описывают тело сообщений, передают различные параметры и др. сведения и информацию.
тело сообщения — это сами данные, которые передаются в запросе. Тело сообщения – это необязательный параметр и может отсутствовать.
Когда мы получаем ответный запрос от сервера, тело сообщения, чаще всего представляет собой содержимое веб-страницы. Но, при запросах к серверу, оно тоже может иногда присутствовать, например, когда мы передаем данные, которые заполнили в форме обратной связи на сервер.
Более подробно, каждый элемент запроса, мы рассмотрим в следующих заметках.
Давайте, для примера, рассмотрим один реальный запрос к серверу. Я выделил каждую часть запроса своим цветом: строка запроса — зеленый, заголовки — оранжевый, тело сообщения- голубой.
Запрос от браузера:
GET / HTTP/1.1
Host: webgyry.info
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:18.0) Gecko/20100101 Firefox/18.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Cookie: wp-settings
Connection: keep-alive
В следующем примере уже присутствует тело сообщения.
Ответ сервера:
HTTP/1.1 200 OK
Date: Sun, 10 Feb 2013 03:51:41 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Keep-Alive: timeout=5
Server: Apache
X-Pingback: //webgyry.info/xmlrpc.php
<!DOCTYPE html PUBLIC «-//W3C//DTD XHTML 1.0 Transitional//EN» «http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd»>
<html xmlns=»http://www.w3.org/1999/xhtml»>
<head>
<meta http-equiv=»Content-Type» content=»text/html; charset=utf-8″ />
<title>Документ без названия</title>
</head>
<body>
</body>
</html>
Вот такими сообщениями обмениваются клиент и сервер по протоколу HTTP.
Кстати, хотите узнать есть ли смысл в каком-то элементе на вашем сайте с помощью «целей» Яндекс Метрики и Google Analytics?
Уберите то, что НЕ работает, добавьте то, что работает и удвойте вашу выручку.
Курс по настройке целей Яндекс Метрики..
POST
POST — это серия системных проверок, выполняемых компьютерами и другими электронными устройствами при их включении. Результаты теста могут отображаться на экране, выводиться через мигающие светодиоды или просто записываться внутри. В компьютерных системах операция POST выполняется в начале последовательности загрузки. Если все тесты пройдены, остальная часть процесса запуска будет продолжена автоматически.
Операционные системы устройств Mac и Windows запускают POST каждый раз, когда компьютер загружается или перезапускается. Сканирование проверяет аппаратное обеспечение и гарантирует, что процессор, ОЗУ и устройства хранения данных будут работать правильно. Если во время выполнения POST возникла ошибка, процесс запуска может приостановиться или полностью прекратиться, а на мониторе может появиться сообщение о нештатной ситуации. На ПК ошибки POST часто отображаются на экране информации о BIOS. Они могут выводиться как криптовые коды, такие как «08», или как системное сообщение, например, «Ошибка системной памяти при смещении». На Mac ошибки POST часто обозначаются простой графикой, например, сломанной иконкой папки, которая указывает, что загрузочное устройство не найдено.
The $_REQUEST variable
The PHP $_REQUEST variable contains the contents of both $_GET, $_POST, and $_COOKIE. We will discuss $_COOKIE variable when we will explain about cookies.
The PHP $_REQUEST variable can be used to get the result from form data sent with both the GET and POST methods.
Try out following example by putting the source code in test.php script.
<?php if( $_REQUEST || $_REQUEST ) { echo "Welcome ". $_REQUEST. "<br />"; echo "You are ". $_REQUEST. " years old."; exit(); } ?> <html> <body> <form action = "<?php $_PHP_SELF ?>" method = "POST"> Name: <input type = "text" name = "name" /> Age: <input type = "text" name = "age" /> <input type = "submit" /> </form> </body> </html>
Here $_PHP_SELF variable contains the name of self script in which it is being called.
It will produce the following result −
Previous Page
Print Page
Next Page
Source #Source
File: wp-includes/post-template.php
function get_post_class( $class = '', $post_id = null ) { $post = get_post( $post_id ); $classes = array(); if ( $class ) { if ( ! is_array( $class ) ) { $class = preg_split( '#\s+#', $class ); } $classes = array_map( 'esc_attr', $class ); } else { // Ensure that we always coerce class to being an array. $class = array(); } if ( ! $post ) { return $classes; } $classes[] = 'post-' . $post->ID; if ( ! is_admin() ) { $classes[] = $post->post_type; } $classes[] = 'type-' . $post->post_type; $classes[] = 'status-' . $post->post_status; // Post Format. if ( post_type_supports( $post->post_type, 'post-formats' ) ) { $post_format = get_post_format( $post->ID ); if ( $post_format && ! is_wp_error( $post_format ) ) { $classes[] = 'format-' . sanitize_html_class( $post_format ); } else { $classes[] = 'format-standard'; } } $post_password_required = post_password_required( $post->ID ); // Post requires password. if ( $post_password_required ) { $classes[] = 'post-password-required'; } elseif ( ! empty( $post->post_password ) ) { $classes[] = 'post-password-protected'; } // Post thumbnails. if ( current_theme_supports( 'post-thumbnails' ) && has_post_thumbnail( $post->ID ) && ! is_attachment( $post ) && ! $post_password_required ) { $classes[] = 'has-post-thumbnail'; } // Sticky for Sticky Posts. if ( is_sticky( $post->ID ) ) { if ( is_home() && ! is_paged() ) { $classes[] = 'sticky'; } elseif ( is_admin() ) { $classes[] = 'status-sticky'; } } // hentry for hAtom compliance. $classes[] = 'hentry'; // All public taxonomies. $taxonomies = get_taxonomies( array( 'public' => true ) ); foreach ( (array) $taxonomies as $taxonomy ) { if ( is_object_in_taxonomy( $post->post_type, $taxonomy ) ) { foreach ( (array) get_the_terms( $post->ID, $taxonomy ) as $term ) { if ( empty( $term->slug ) ) { continue; } $term_class = sanitize_html_class( $term->slug, $term->term_id ); if ( is_numeric( $term_class ) || ! trim( $term_class, '-' ) ) { $term_class = $term->term_id; } // 'post_tag' uses the 'tag' prefix for backward compatibility. if ( 'post_tag' === $taxonomy ) { $classes[] = 'tag-' . $term_class; } else { $classes[] = sanitize_html_class( $taxonomy . '-' . $term_class, $taxonomy . '-' . $term->term_id ); } } } } $classes = array_map( 'esc_attr', $classes ); /** * Filters the list of CSS class names for the current post. * * @since 2.7.0 * * @param string[] $classes An array of post class names. * @param string[] $class An array of additional class names added to the post. * @param int $post_id The post ID. */ $classes = apply_filters( 'post_class', $classes, $class, $post->ID ); return array_unique( $classes ); }
Ключевые различия между GET и POST методом в HTML
- Метод GET помещает параметры в URI, а метод POST добавляет параметры в тело.
- GET в основном используется для получения информации. В отличие от этого, целью метода POST является обновление данных.
- Результаты запроса POST не могут быть добавлены в закладки, тогда как результаты запроса GET могут быть добавлены в закладки, потому что они существуют в форме URL.
- В методе GET информация отображается в URL, что увеличивает уязвимости и риск взлома. В отличие от этого, метод POST не отображает переменную в URL, и в нем также можно использовать несколько методов кодирования, что делает его устойчивым.
- Когда в форме используется метод GET, в типах данных принимаются только символы ASCII. Наоборот, метод POST не связывает типы данных форм и допускает двоичные, а также символы ASCII.
- Размер переменной в методе GET составляет около 2000 символов. И наоборот, метод POST допускает переменный размер до 8 Мб.
- Данные метода GET кэшируются, а данные метода POST нет.
Пример GET
Когда пользователь вводит любой URL-адрес в адресную строку браузера, например http // www.example.com / xyz / file1.htm . Затем адрес преобразуется в действительный HTTP-запрос GET, например, GET / xyz / file1.htm HTTP / 1.0 .
Этот запрос затем передается на сервер www.example.com . Запрос запрашивает file1.htm в каталоге xyz и указывает, подключается ли он к диалекту 1.0 HTTP. Здесь пользователь не получает файл сам по себе после отправки файла, на самом деле программа работает в фоновом режиме для обработки данных формы.
Пользователь требует передать данные формы с названием программы для ее выполнения. Чтобы выполнить это, информация формы добавляется к запрошенному URL. Он генерирует URL-адрес, состоящий из ста символов, наряду с фактическими данными, например, //www.example.com/cgi-x/comments.exe?Name=AI+Alena&Age=23&Gender=female .
Пример POST
Данные, отправленные формой, могут выглядеть следующим образом: Имя = AI + Alena & Age = 23 & Gender = female . Программа обрабатывает данные путем разделения данных. Данные формы могут быть закодированы по-разному, используя атрибут ENCTYPE в методе POST.
Содержимое формы обычно не отображается в URL-адресе, и его главное преимущество заключается в том, что значительный объем данных может быть отправлен методом POST.
Заключение
Методы GET и POST используются для отправки данных на сервер, и основное различие между ними заключается в том, что метод GET добавляет данные к URI, определенному в атрибуте действия формы. И наоборот, метод POST присоединяет данные к запрашиваемому телу. Использование метода GET неуместно, когда конфиденциальная информация должна быть заполнена в форме. Метод POST полезен, когда пользователю необходимо ввести пароли или другую конфиденциальную информацию.
Related #Related
Uses
Uses |
---|
wp-includes/category-template.php: get_the_terms() |
wp-includes/theme.php: current_theme_supports() |
wp-includes/formatting.php: sanitize_html_class() |
wp-includes/query.php: is_attachment() |
wp-includes/query.php: is_paged() |
wp-includes/query.php: is_home() |
wp-includes/load.php: is_admin() |
wp-includes/taxonomy.php: is_object_in_taxonomy() |
wp-includes/taxonomy.php: get_taxonomies() |
wp-includes/plugin.php: apply_filters() |
wp-includes/post-thumbnail-template.php: has_post_thumbnail() |
wp-includes/post-template.php: post_password_required() |
wp-includes/post-template.php: post_class |
wp-includes/post.php: is_sticky() |
wp-includes/post.php: post_type_supports() |
wp-includes/post.php: get_post() |
wp-includes/post-formats.php: get_post_format() |
wp-includes/load.php: is_wp_error() |
HTML Теги
<!—><!DOCTYPE><a><abbr><acronym><address><applet><area><article><aside><audio><b><base><basefont><bdi><bdo><big><blockquote><body><br><button><canvas><caption><center><cite><code><col><colgroup><data><datalist><dd><del><details><dfn><dialog><dir><div><dl><dt><em><embed><fieldset><figcaption><figure><font><footer><form><frame><frameset><h1> — <h6><head><header><hr><html><i><iframe><img><input><ins><kbd><label><legend><li><link><main><map><mark><menu><menuitem><meta><meter><nav><noframes><noscript><object><ol><optgroup><option><output><p><param><picture><pre><progress><q><rp><rt><ruby><s><samp><script><section><select><small><source><span><strike><strong><style><sub><summary><sup><svg><table><tbody><td><template><textarea><tfoot><th><thead><time><title><tr><track><tt><u><ul><var><video>
2) Цикл на основе WP_Query()
Для вывода записей никак не связанных со страницей или создания множественных (дополнительных) циклов можно использовать циклы на основе класса WP_Query. Выглядят они аналогично циклам с использование query_posts(). Для WP_Query используются те же самые параметры, что и для query_posts().
Интересно, что WP_Query является ядром функций query_posts() и get_posts(), т.е. обе эти функции работают на основе этого класса.
Пример цикла: выведем все записи из категории 9:
<?php // указываем категорию 9 и выключаем разбиение на страницы (пагинацию) $query = new WP_Query( 'cat=9&nopaging=1' ); if( $query->have_posts() ){ while( $query->have_posts() ){ $query->the_post(); ?> <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2> <?php the_content(); ?> <?php } wp_reset_postdata(); // сбрасываем переменную $post } else echo 'Записей нет.'; ?>
Пример создания множественных циклов на основе WP_Query():
<?php // Цикл 1 $query1 = new WP_Query('cat=-1&nopaging=1'); // все посты, кроме категории 1 while( $query1->have_posts() ){ $query1->the_post(); // вывод записей } wp_reset_postdata(); // Цикл 2 $query2 = new WP_Query('cat=-2&nopaging=1'); // все посты, кроме категории 2 while( $query2->have_posts() ){ $query2->the_post(); // вывод записей } wp_reset_postdata(); // Цикл 3 $query3 = new WP_Query('cat=-3&nopaging=1'); // все посты, кроме категории 3 while( $query3->have_posts() ){ $query3->the_post(); // вывод записей } wp_reset_postdata(); ?>
Особенность циклов на WP_Query() в том, что мы создаем новый объект $query, который никак не связан с аналогичным глобальным объектом $wp_query и поэтому мы никак не нарушаем структуру текущей страницы.
Также, мы можем использовать новый объект в других целях, не только для вывода записей, но и для различного рода проверок: например, записи какого типа страницы используются в этом новом объекте; можем узнать общее количество записей удовлетворяющих запросу ($query->found_posts) и т.д. Такие данные могут пригодится при создании дополнительных запросов с пагинацией или где-то еще ().
Зачем нужно использовать wp_reset_postdata()?
В глобальной переменной $post хранятся данные текущего поста (если показывается страница поста, то данные этого поста). Когда срабатывает часть кода , то в переменную записываются данные текущего поста в цикле и в конце цикла в этой переменной остаются данные последнего поста из этого цикла, а нужно чтобы $post всегда содержала данные текущего поста страницы. Т.е. получается до использования цикла (ID текущего поста) было равно, допустим, 10, а после срабатывания цикла, та же самая переменная уже равна, допустим, 56 (ID последнего поста из цикле), а нужно чтобы она по-прежнему равнялась 10.
wp_reset_postdata() используется как раз для того, чтобы вернуть правильные данные в переменную $post.
Когда использовать WP_Query()?
Если нужно вывести записи не затрагивая основной цикл (допустим записи в боковой панели), если нужно создать множественные запросы. Вообще, я не вижу никаких преимуществ циклов на WP_Query() над циклами с использованием get_posts() и поэтому рекомендую использовать get_posts() вместо WP_Query().
Передача переменных при помощи метода GET
Данный метод передачи переменных применяется в PHP для передачи переменных в файл при помощи адресной строки. То есть переменные передаются сразу через адресную строку браузера. Примером может быть, например, ссылка на статью в WordPress без использования ЧПУ (SEF), которая имеет примерно следующий вид:
То есть в данном случае передается переменная $p со значением 315. Теперь давайте более подробно на примере рассмотрим работу метод GET. Пускай нам нужно передать в файл три переменных $a, $b и $c методом GET и вывести их сумму на экран. Для этого можно использовать следующий код.
Поскольку все переменные перед передачей будут помещаться в глобальный массив GET (Массивы в PHP), то мы первым делом присваиваем нашим переменным значения соответствующих элементов массива GET. Делаем это в самом начале во избежание разнообразных ошибок при передаче переменных. Далее для демонстрации работы прописываем произвольную формулу и выводим результат на экран.
Для проверки работы метода GET достаточно просто добавить к ссылке на файл знак вопроса «?» и через амперсанд «&» перечислить переменные с их значениями. Пускай у нас есть файл get.php, который лежит в корне сайта https://archive.dmitriydenisov.com. Для того чтобы передать в файл переменные, достаточно прописать в адресной строке следующее.
Как видно с примера, сначала мы добавляем знак вопроса сразу после названия файла. Далее прописываем переменную и через равно указываем ее значение. После этого через амперсанд аналогичным образом перечисляем другие переменные. Теперь при переходе по этой ссылке нам выведется сумма переменных $a, $b и $c.
Данный способ очень простой и не требует создания дополнительных файлов. Все необходимые данные поступают прямо через адресную строку браузера.
Ну а теперь давайте перейдем ко второму способу передачи переменных в PHP – методу POST.
Передача переменных в PHP при помощи метода POST
Данный способ позволяет скрыто передавать переменные с одного файла в другой. Как вы уже поняли, обычно для этих целей используются два файла. В первом находится форма для ввода исходных данных, а во втором исполнительный файл, который принимает переменные. Для демонстрации давайте рассмотрим следующий код.
Код первого файла с формой для отправки данных. Дадим ему название post-1.php
Форма:
- action – указываем файл, в который будут передаваться переменные.
- method – метод передачи переменных. В нашем случае это метод POST.
- name – название формы. Одновременно в файл будет передана переменная с таким именем.
Текстовые поля:
- name – имена переменных. В нашем случае это имя и фамилия (переменные name и lastname).
- type – тип поля. В нашем случае это текстовое поле.
Кнопка:
- name – имя кнопки и переменной, которая будет передана вместе с другими переменными.
- type – тип кнопки. В нашем случае это кнопка для отправки данных.
- value – текст на кнопке.
Код второго файла, который будет служить приемником переменных. Назовем его post-2.php
Как и с методом GET, мы первым делом присваиваем переменным значения соответствующих элементов глобального массива POST. Далее для наглядности выводим эти переменные на экран при помощи оператора вывода echo.
Теперь при загрузке первого файла у нас загрузится форма. После введения данных жмем по кнопке «Отправить», в результате чего в новой вкладке у нас откроется страница со вторым файлом, на которой выведутся значения, прописанные в форме на предыдущей странице. То есть второму файлу будут переданы значения переменных с первого файла.
На этом данная статья про передачу переменных в PHP подошла к концу. Если вы не хотите пропустить появления других статей на блоге, рекомендую подписаться на новостную рассылку любым удобным способом в пункте «Подписка» либо воспользоваться формой ниже.
Как работает запрос Conditional GET
При первом обращении к ресурсу, браузер посылает обычный запрос GET и сохраняет результат в кэш. Conditional GET можно использовать только если в http ответе установлен заголовок Last-modified, в котором указана дата последнего изменения ресурса.
В следующий раз, когда браузер будет обращаться к серверу за тем же самым ресурсом, он уже будет использовать запрос Conditional GET, в этом запросе используется дополнительный заголовок if-Modified-Since, в этом заголовки указывается дата изменения ресурсов, это дата как раз берется из значения заголовка last-modified, который передал нам сервер.
Ответ на запрос GET с условием
Сервер может передать два варианта ответа на Conditional GET запрос. Если ресурс не поменялся, то сервер передает короткое сообщение со статусом 304 Not Modified. Это сообщение, также может включать дополнительные заголовки по управлению кэша. Сам ресурс при этом не передается, так как актуальная копия есть в кэше браузера. Если же ресурс поменялся, то измененная версия ресурса передается полностью, при этом используется статус http ответа 200 OK.
ETag в запросах Get с условием
В протоколе версия HTTP 1.1 появилась другая возможность проверить изменился ресурс или нет. Для этого используется entity tag или сокращенно ETag, это код который генерируется на основе содержимого ресурса? как правило это хэш-код или что-нибудь подобное.
Web-сервер при отправке ресурса, добавляет этот код в заголовок ETag, если ресурс изменился, то значение ETag также поменяются. ETag удобно применять, если web-сервер может передавать различные варианты одной и той же страниц.
Например, на разных языках, в этом случае дату изменений использовать нельзя, так как страницы на разных языках могут быть изменены в одно и тоже время, а ETag вполне подходит. Если мы хотим использовать ETag в conditional GET то вместо заголовка if-Modified-Since мы должны указывать If-None-Match. Вот пример: If-None-Match: 57454284-3d8f
Заголовок Cache—Control
В стандарте HTTP 1.1 появился новый заголовок Cache-Control с помощью которого можно более гибко управлять кэшированием. Заголовок Cache-Control может содержать несколько различных элементов.
Cache-Control: private, max-age=10. В этом примере используется два элемента private и max-age = 10 разделенное запятой.
Что можно использовать в заголовке Cache-Control
- значение no-store, говорит о том, что ресурс нельзя сохранять в кэш;
- no-cache, говорит о том, что и ресурсы сохранять в кэш можно, но для его использования необходимо выполнить запрос conditional GET, и загружать ресурс из кэша только в том случае если он не изменился на сервере;
- public, говорит о том, что информация может быть доступна всем и ее можно кэшировать, это значение удобно использовать совместно с http аутентификацией, так как по умолчанию при аутентификации кэширование не используется;
- private сообщает о том, что страница может быть сохранена только в частном кэша браузера, но не в разделяемых кэшах;
- max-age устанавливает время хранения ресурсов кэша в секундах, используется для замены заголовка expires.
Использование функции get_posts для вывода записей WordPress
Для использования get_posts в теме WordPress нам нужно:
-
1.Подключаемся к сайту по FTP, например, в редакторе кода Notepad++ и открываем файл шаблона, в котором нужно вывести записи при помощи get_posts. Если вы ещё не знаете как это делается – то вам сюда тык.
Если вы не ищите лёгких путей, то можете сначала скачать нужный файл к себе на компьютер, внести в него правки и потом выгрузить обратно на хостинг.
Вот инструкция по подключению к сайту по FTP при помощи FileZilla.«Как пользоваться FTP-клиентом FileZilla?»
Так же можно добавить код функции get_posts через встроенный редактор WordPress, который находится в разделе «Внешний вид» → «Редактор», выбрав нужный файл на панели справа.
При использовании встроенного редактора не забывайте делать резервные копии файлов перед их правкой.
-
2.В нужном месте шаблона вставляем следующий код функции get posts
PHP
<?php
$args = array(
‘posts_per_page’ => 3,
‘category’ => 9
);
$iwposts = get_posts( $args );
foreach( $iwposts as $post ){ setup_postdata($post); ?>
<div class=»iw-get-post»><a class=»post-title-get-post» href=»<?php the_permalink(); ?>»><?php the_title(); ?></a>
<?php }
wp_reset_postdata(); ?>1
2
3
4
5
6
7
8
9
10<?php
$args=array(
‘posts_per_page’=>3,
‘category’=>9
);
$iwposts=get_posts($args);
foreach($iwpostsas$post){setup_postdata($post);?>
<div class=»iw-get-post»><aclass=»post-title-get-post»href=»<?phpthe_permalink();?>»><?phpthe_title();?><a>
<?php}
wp_reset_postdata();?>
- 3. Задаём нужные аргументы get posts и параметры вывода, а затем сохраняем файл и загружаем изменённый файл на хостинг если вы его скачивали для редактирования.
А теперь подробнее где и что менять.