Intereting Posts
Создание каталога в uploads – wp_mkdir_p () или WP_Filesystem? Используйте Gravity Forms и корзину для вывода на Freshbooks для оценки Как получить относительный URL-адрес среднего размера изображения? Как добавить div в поля комментариев / отредактировать Получение дочерних категорий продуктов, связанных с продуктами WooCommerce Javascript и таблица стилей на дочерней странице Проблема с родительским и дочерним условным тегом для отображения содержимого Какова ваша наилучшая практика для выполнения одноразовых скриптов? Ошибка отправки с темой P2 Пользовательский шаблон страницы отображает шаблон архива Передача данных JSON из запроса WP Query в AJAX, вызывающего ошибки NULL Плагин для перенаправления всех 404 страниц на определенную страницу wp_localize_script экранирование моего url – исправление или альтернатива 'category__and' для пользовательской таксономии? Расширенные URL-адреса, созданные с использованием функции multisite, не загружают CSS / JS

Могу ли я отделить комментарии от должности?

У меня есть тип вложений, которым нужен полный экран. Итак, мне нужно разместить комментарии в другом месте. Как я могу сообщить WP эти комментарии к сообщению?

Solutions Collecting From Web of "Могу ли я отделить комментарии от должности?"

Большинство стартовых тем, например Twenty Eleven , поставляются с отдельными файлами для каждого шаблона – например, single.php и content-single.php представляют шаблон Single (Post) в Twenty Eleven.

Тема стартера, которую я использую, Reddle ( ddl ), имеет ту же иерархию шаблонов, и вот решение, которое я использую …

  1. Создайте пустую страницу (NOT Post) под названием «Комментарии, вопросы и отзывы» или что-то по вашему выбору. Оставьте тело пустым и опубликуйте страницу.

  2. Сделайте копию single.php и переименуйте его на page-comments.php (где «комментарии» в комментариях к страницам .php – это слизня страницы, которую мы создали выше).

    (A) В этом случае замените это:

     <?php while ( have_posts() ) : the_post(); ?> 

    с этим:

     <?php $p = $_GET['u']; $the_query = new WP_Query("showposts=1&p=" . $p); while ( $the_query->have_posts() ) : $the_query->the_post(); ?> 

    (B) Также замените это:

     <?php get_template_part( 'content', 'single' ); ?> 

    с этим:

     <?php get_template_part( 'content', 'comments' ); ?> 
  3. Сделайте копию content-single.php и переименуйте его в content-comments.phpкомментариях к комментариям .php «комментарии» должны совпадать с параметром, который вы используете в <?php get_template_part( 'content', 'comments' ); ?> как показано выше 2 (B) ).

    Теперь, в зависимости от того, какой контент вы хотите показывать на отдельной странице комментариев, отредактируйте весь код в шаблоне. Например, первое, что вы, возможно, захотите удалить, – это код, который выводит содержимое сообщения.

    Например, это оригинальный content-single.php моей темы, и после редактирования всего ненужного кода (который я не хотел показывать на странице комментариев) это то, что осталось в файле:

     <?php /** * The default template for displaying post comments. * * @package Reddle * @since Reddle 1.0 */ ?> <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>> <header class="entry-header"> <h1 class="entry-title"><a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'reddle' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php the_title(); ?></a></h1> <?php if ( comments_open() || ( '0' != get_comments_number() && ! comments_open() ) ) : ?> <p class="comments-link"><?php comments_popup_link( '<span class="no-reply">' . __( '0', 'reddle' ) . '</span>', __( '1', 'reddle' ), __( '%', 'reddle' ) ); ?></p> <?php endif; ?> </header><!-- .entry-header --> </article><!-- #post-<?php the_ID(); ?> --> 
  4. Добавьте правило перезаписи в ваш файл .htaccess, чтобы сделать URL-адрес страницы комментариев красивой:

     RewriteRule ^comments/([0-9]+)/?$ /comments/?u=$1 [QSA,L] 

    Теперь страница комментариев для сообщения будет http://example.com/comments/17/ если 17 – это идентификатор сообщения.

  5. Как ваши читатели узнают, где оставить комментарии, если вы не ссылаетесь на страницу комментариев? Итак, в вашем content-single.php или любом подходящем вам шаблоне (в зависимости от того, где вы хотите показать ссылку), используйте этот код:

     <a href="/comments/<?php the_ID(); ?>/">Leave A Comment!</a> 

Это очень просто, и нет никакого дополнительного CSS, поскольку ваши страницы комментариев наследуют тот же шаблон, что и ваши сообщения. Да, я попробовал это, прежде чем делиться этим ответом. Оно работало завораживающе!

СКРИНШОТЫ

(Грубая, но работающая …)

Скриншот


Основываясь на « Обеспечьте лучший опыт чтения в своем блоге WordPress » Амита Агарвала.

Это несколько сложно, потому что для его работы необходимо сделать несколько вещей. Я предлагаю вам написать это как плагин вместо того, чтобы сбрасывать его в вашу тему.

Первое, что вам нужно, это фактические комментарии к сообщению, у вас есть два варианта:

  1. get_comments : http://codex.wordpress.org/Function_Reference/get_comments
  2. wp_list_comments http://codex.wordpress.org/Function_Reference/wp_list_comments

Оба должны будут пройти идентификатор сообщения, я бы предложил сделать функцию обратного вызова для wp_list_comments .

Вам также нужно будет использовать другую функцию, называемую comment_form для визуализации ввода для создания фактических комментариев. http://codex.wordpress.org/Function_Reference/comment_form

Ввод и вывод комментариев прост, задача заключается в создании взаимосвязи между сообщением и отдельной формой комментария / отображением, чтобы пользователь мог легко перемещаться вперед и назад. Я рекомендую прочитать ответ Майка Шинкеля в этом посте, чтобы выполнить это
Ссылка на страницу, показывающая только комментарии без родительской почты

Как насчет страницы с вкладками, как и reuters.com. Вы можете использовать чистые css или ajax и визуально отделять содержимое сообщения от комментариев.