Это проблема с версией PHP, обновление до PHP 7.0 и doctrine / inflector будет работать должным образом, потому что doctrine / inflector 1.20 и выше требуют PHP 7.
Но если вы хотите остаться на текущей версии PHP, вы можете понизить версию doctrine / inflector, выполнив следующие команды:
rm -f Composer.lock
rm -R -f vendor
composer install
composer require doctrine/inflector:1.1.0
doctrine / inflector: 1.1.0 поддерживает PHP 5.6 & amp; выше. Если у вас есть другая версия php, вы можете обратиться к этой ссылке
post ()
Эта функция не принимает никаких параметров.
Возвращаемые значения Эта функция не возвращает никаких значений.
<?php
while ( have_posts() ) : the_post();
echo '<h2>';
the_title();
echo '</h2>';
the_content();
endwhile;
?>
has_posts () Параметры Эта функция не принимает никаких параметров.
Возвращаемые значения (логические) Истина при успешном завершении, false при ошибке. Примеры Следующий пример может быть использован для определения того, существуют ли какие-либо записи, и если они это делают.
<?php
if ( have_posts() ) :
while ( have_posts() ) : the_post();
// Your loop code
endwhile;
else :
echo wpautop( 'Sorry, no posts were found' );
endif;
?>
Примечание. Вызов этой функции в цикле вызовет бесконечный цикл. Например, см. Следующий код:
<?php
while ( have_posts() ): the_post();
// Display post
if ( have_posts() ): // If this is the last post, the loop will start over
// Do something if this isn't the last post
endif;
endwhile;
?>
Если вы хотите проверить, есть ли больше записей в текущем цикле без этого неудачного побочного эффекта, вы можете использовать эту функцию.
function more_posts() {
global $wp_query;
return $wp_query->current_post + 1 < $wp_query->post_count;
}
<?php define('WP_USE_THEMES', false); get_header(); ?>
The loop starts here:
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
and ends here:
<?php endwhile; else: ?>
<p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
<?php endif; ?>
This is using PHP's alternative syntax for control structures, and could also be expressed as:
<?php
if ( have_posts() ) {
while ( have_posts() ) {
the_post();
//
// Post Content here
//
} // end while
} // end if
?>
Это просто альтернативный синтаксис для:
if ( have_posts() ) { //open if
while ( have_posts() ) { //start while loop
the_post(); //call a function
См. http://php.net/manual/en/control-structures.alternative-syntax.php
Это не зависит от Wordpress и может использоваться в любом PHP-коде.
1. Что такое LOOP
Loop - это PHP-код, используемый WordPress для отображения сообщений. Используя Loop, WordPress обрабатывает каждое сообщение, которое будет отображаться на текущей странице, и форматирует его в соответствии с тем, как оно соответствует указанным критериям в тегах Loop.
Он будет извлекать данные, относящиеся к определенной странице
: (двоеточие) используется для того, чтобы сказать, что условие / цикл начинается здесь. Вы можете заменить его на {} (скобки)
<?php
if ( have_posts() ) {
while ( have_posts() ) {
the_post();
//
// Post Content here
//
} // end while
} // end if
?>
2. Является ли этот Wordpress-Only или его можно использовать где-то еще?
да, конечно, вы можете его использовать. Вы можете получить доступ к полной функциональности wordpress, включив в нее один основной файл с именем «wp-blog-header.php», который находится в корневом каталоге wordpress.
<?php
/* Short and sweet */
define('WP_USE_THEMES', false);
require('./wp-blog-header.php');
?>
Включите этот файл в верхнюю часть вашего внешнего файла, вы можете получить доступ к базе данных Wordpress, функции Wordpress, перехватам Wordpress.
3. Где хранится текущее сообщение?
В таблице wordpress существует 11 таблиц по умолчанию. В базе данных вы можете увидеть таблицу wp_posts. все записи хранятся в этой таблице.
предположим, что если вы создаете метатег в своем сообщении, он будет хранить в wp_postmeta