Я пытаюсь разместить тег <span>
внутри тега оболочки <p>
на странице оформления заказа для поля города доставки. Я пробовал много разных способов, но все они потерпели неудачу.
Вот моя попытка кода (не работает):
function hackies( $field, $key, $args, $value ) {
// Wrap all fields except first and last name.
if ( $key === 'shipping_city' ) {
$field .= '<span>hello world</span>';
}
return $field;
}
add_filter( 'woocommerce_form_field_text', 'hackies', 10, 4);
Но не работает, кто-нибудь может с этим помочь?
1 ответ
Вы используете неправильный крючок и неправильный путь. Использование функции PHP str_replace()
в перехваченной функции с использованием перехвата фильтра woocommerce_form_field
выполняет свою работу:
add_filter( 'woocommerce_form_field', 'hackies', 10, 4);
function hackies( $field, $key, $args, $value ) {
// Wrap all fields except first and last name.
if ( $key === 'shipping_city' ) {
$field = str_replace( array('<label ', '</span>'), array('<span class="special"><label ', '</span></span>'), $field );
}
return $field;
}
Код находится в файле functions.php вашей активной дочерней темы (или активной темы). Проверено и работает.
Это работает для полей типа "вводимый текст"… Для других типов полей требуется нечто иное.
Похожие вопросы
Новые вопросы
php
PHP — это открытый, мультипарадигмальный, динамически типизированный и интерпретируемый язык сценариев, изначально разработанный для веб-разработки на стороне сервера. Используйте этот тег для вопросов о программировании на языке PHP.