У меня есть две кнопки в моем шаблоне одного продукта: «Читать дальше» для описания продукта в блоке сведений о продукте (тема 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
Конфликт кода с двумя кнопками — читайте больше в описаниях Woocommerce и отображайте контент из другого поста. ⇐ Php
Кемеровские программисты php общаются здесь
1720092016
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 );
}
});
});
Подробнее здесь: [url]https://stackoverflow.com/questions/78706421/code-conflict-with-two-buttons-read-more-in-woocommerce-descriptions-and-displ[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия