Intereting Posts
Передача переменной во вложенных коротких кодах получить the_title_attribute по id WP_User_Query Пользовательское поле meta_query с условием Date Измените бесплатный плагин на wordpress.org и включите мою премиальную тему? Как отключить фильтрацию стиля в сообщении? Можно ли разрешить пользователю входить в систему с другой ролью? Добавить сообщения одного автора на определенную страницу Получить сообщения в пользовательских типах сообщений и конкретных таксономиях WP_query: meta_key с настраиваемым правилом для определенного значения Строгие стандарты: объявление описания_walker :: start_el () и предупреждение Ускорить сайт с изображениями высокого разрешения WooCommerce изменяет количество столбцов на главной странице Смутно о бизнесе по размеру изображения в WordPress Сортировка сообщений определенным образом Показать дату публикации с помощью функции wp_get_archives ()?

Пользователь disqus_identifier неправильно изменяет значение по умолчанию

У меня есть несколько страниц, которые являются частью одной и той же темы, и я бы хотел, чтобы они использовали тот же поток комментариев на Disqus. Я использую следующий код, чтобы вытащить пользовательский идентификатор из настраиваемого поля:

<?php //Attempt to get identifier $disqus = get_post_meta($post->ID, 'disqusid', true); //if isset & not blank else use $post->ID $disqus = (!empty($disqus)) ? $disqus : $post->ID; ?> <script type="text/javascript"> var disqus_identifier = '<?=$disqus?>'; </script> 

Код правильно отображает значение из настраиваемого поля, однако плагин Disqus по-прежнему использует идентификатор страницы в качестве идентификатора при проверке кода страницы. Значение каждой страницы по-прежнему использует собственный поток комментариев.

Я попытался разместить код в нескольких разных местах: перед комментарием comment_template (); кода в header.php в разных местах (до / после wp_head) и в footer.php в разных местах (до / после wp_footer).

Все, что я прочитал, звучит так же просто, как добавление кода идентификатора перед вызовом embed.js для Disqus. Я чувствую, что, возможно, мне не хватает чего-то особенного, что нужно сделать. Возможно ли, что-то еще вмешивается в это? Все остальное работает должным образом.

Плагин Disqus WordPress: http://wordpress.org/extend/plugins/disqus-comment-system/

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

Мне пришлось получить некоторые обзоры групп, которые уже были в Disqus с моего старого сайта, на мой новый сайт группы WordPress. Мне нужны только обзоры на нашей домашней странице, вот что я сделал …

Я посмотрел код на своем старом сайте и схватил значение disqus_identifier оттуда.

Я определил и добавил пользовательское поле с именем dsq_identifier в свой собственный шаблон страницы и дал ему значение disqus_identifier с моего старого сайта.

Я новичок в WordPress и PHP, и я уверен, что это плохая идея, но мне нужно было сделать это, поэтому …

Я отредактировал comment.php плагина Disqus, добавив этот код после инициализации var:

 <?php if ( get_post_meta($post->ID, 'dsq_thread_id', true) ) : ?> disqus_identifier = '<?php echo get_post_meta($post->ID, 'dsq_identifier', true); ?>'; <?php endif; ?> 

Так как я хочу отображать комментарии на нашей домашней странице с настраиваемым полем с именем dsq_identifier , я изменил свой собственный шаблон (который использовался несколькими страницами). Вот этот код:

 <?php if ( get_post_meta($post->ID, 'dsq_identifier', true) ) : ?> <?php comments_template(); ?> <?php endif; ?> 

BAAAMMM! Работал в первый раз.

Если у вас есть какие-либо идеи о том, как заставить это работать, не изменяя базу кода плагина Disqus, это будет качать. Мне нужно сделать шаг назад и действительно подумать об этом после того, как новый сайт будет выпущен через пару дней.