Конфликт кода с двумя кнопками — читайте больше в описаниях Woocommerce и отображайте контент из другого поста.Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Конфликт кода с двумя кнопками — читайте больше в описаниях Woocommerce и отображайте контент из другого поста.

Сообщение Anonymous »

У меня есть две кнопки в моем шаблоне одного продукта: «Читать дальше» для описания продукта в блоке сведений о продукте (тема WordPress 2024) и вторая, которая берет содержимое из пользовательского типа сообщения и отображает его при нажатии, называемое show Composer. . Последний проверяет содержимое поля ACF, сопоставляет его с заголовком пользовательского сообщения и отображает содержимое. Он не показывает, нет ли совпадения. Конфликт возникает только тогда, когда отображается кнопка «Показать композитор». Конфликт не позволяет кнопке «Читать далее» работать. Для подтверждения: если Composer не найден, эта кнопка не отображается, а кнопка «Читать далее» работает должным образом. Если композитор найден, кнопка «Читать дальше» не работает. Единственное, что, как я вижу, может вызвать это, это то, что последняя строка кода Подробнее может конфликтовать со строкой кода Show Composer, которая вызывает the_content().
Но я не вижу, как это решить, если это так.
Код двух модулей приведен ниже.
/*======================================================================================

#6 Shorten product long description with read more button

=======================================================================================*/

function filter_the_content( $content ) {

// Only for single product pages

if( ! is_product() ) return $content;

// Set the limit of words

$limit = 25;

// Strip p tags if needed

$content = str_replace( array( '
', '
' ), '', $content );

// If the content is longer than the predetermined limit

if ( str_word_count( $content, 0 ) > $limit ) {

// Returns an associative array, where the key is the numeric position of the word inside the string and the value is the actual word itself

$arr = str_word_count( $content, 2 );

// Return all the keys or a subset of the keys of an array

$pos = array_keys( $arr );

// First part

$text = '
' . substr( $content, 0, $pos[$limit] ) . '...';

// More part

$text .= '' . substr( $content, $pos[$limit] ) . '
';

// Read button

$text .= '';

$content = force_balance_tags( $text ); // needded

}

?>



jQuery(document).ready( function ($) {

// Settings

var read_more_btn_txt = 'Read more';

var read_less_btn_txt = 'Read less';

// Selectors

var more = '#more';

var read_button = '#read-button';

var dots = '#dots';

// On load

$( more ).hide();

$( read_button ).html( read_more_btn_txt );

// On click

$( read_button ).on( 'click', function() {

if ( $( more ).is( ':hidden' ) ) {

$( more ).show();

$( dots ).hide();

$( read_button ).html( read_less_btn_txt );

} else {

$( more ).hide();

$( dots ).show();

$( read_button ).html( read_more_btn_txt );

}

});

});





Подробнее здесь: https://stackoverflow.com/questions/787 ... -and-displ
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»