Intereting Posts
Могут ли некоторые уязвимости в плагинах использоваться, даже если плагин неактивен? is_plugin_active () возвращает false в активный плагин Назначить категорию по умолчанию API-интерфейс пользовательского интерфейса Пользовательский метабокс, вызывающий функцию JS дважды Страница продукта Woocommerce редактировать «из» текста Создание формы wordpress с php-скриптом и заголовком по умолчанию Вставьте контейнер DIV ниже первого результата поиска показать только собственные сообщения пользовательского типа post-type для wordpress Определите, в каком месте темы находится wp_get_nav_menu_items, для Ошибка захвата и отображения при действии save_post. Измените расположение add_theme_support ('custom-header') в настройке Как установить категорию предустановок для пользовательских типов сообщений? Проверка телефона WordPress Как переписать post slug персонализированного сообщения типа post

добавьте <div> в конец сообщения в цикле с плагином

Я хочу добавить <div> с некоторым содержимым html в нижней части конкретных сообщений в цикле. Действие the_post можно использовать для добавления <div> в начало сообщения в цикле, но я надеюсь добавить его в конец.

EDIT. Ближайшие вещи, которые мне удалось сделать, – добавить имя класса в нужную запись в цикле, используя post_class . Затем я использовал jQuery(.classname).append('<div>custom content</div>) чтобы добавить пользовательский контент. Проблема в том, что смешивание jQuery и php таким образом кажется менее оптимальным, потому что я хочу передать php-информацию в пользовательский контент …

Solutions Collecting From Web of "добавьте <div> в конец сообщения в цикле с плагином"

Похоже, вы хотите фильтр на the_content .

 function add_content_wpse_97277($content) { global $post; if ($post->ID == 123) { $content .= 'additional content'; } return $content; } add_filter('the_content','add_content_wpse_97277'); 

Я не знаю, какие условия вам нужны. Вы не объяснили это в вопросе. Вышеупомянутое должно соответствовать сообщению с ID «123».

Для страниц индекса вам может понадобиться добавить тот же обратный вызов к крюку the_excerpt . Вы можете контролировать, где функция добавляет контент с тегами шаблона, например is_home или is_single .

Честно говоря, так вы должны добавлять свой контент как выше, так и ниже сообщения. Эхо-контент от действия, такого как the_post может работать, но также является хорошим способом попасть в неприятности. В этом случае я бы сказал, что это особенно опасно. the_post запускается внутри setup_postdata который часто запускается внутри цикла, который мгновенно перекликается с содержимым, но если эта функция – setup_postdata – запускается внутри цикла, который не выполняет немедленное эхо, например, для построения строки, ваша разметка создаст беспорядок. Существует также loop_start и loop_end но я не думаю, что это то, что вы хотите.

Увидев ваш вопрос и ваши комментарии и рассмотрев их, я должен сказать, что ваш основной подход ошибочен. Вы должны использовать the_content и the_excerpt , и / или, возможно, фильтр get_the_excerpt .

К сожалению, фильтрация содержимого / выдержки не делает то, что мне нужно для этого. Часто добавляются верхние или нижние колонтитулы к сообщению (в цикле) под выдержкой / содержимым. Это означает, что фильтрация содержимого / выдержки не приведет к тому, что мой контент появится в нижней части сообщения в цикле. Спасибо, однако, ваша помощь приветствуется!

цитата из комментария ниже

Я сомневаюсь, что есть надежный способ сделать то, что вы хотите. Единственный фильтр, с которым вы должны работать, – это the_post . Вы можете использовать это для вставки между сообщениями, отслеживая, какой пост цикла вы используете, и вставлять контент условно. То есть:

  1. Если номер сообщения 0, то вставьте начало <div>
  2. Если почтовый номер 1, то вставьте </div> и <div>
  3. Если последнее сообщение, затем вставьте </div>

Но опять же, вы собираетесь создавать беспорядочный echo контент из фильтра the_post когда setup_postdata используется в контексте, который не setup_postdata echo контента сразу, например, в контексте, где строятся и возвращаются строки.