Домой Wp-Recall WP-Recall: Пишем свое дополнение и кастомизация Правка вывода пустого значения произвольного поля через {RCL-UM:usermeta_key}
3 ответ(ов) в теме
daniablag
не в сети 2 месяца
На сайте с 12.02.2015
Участник
Тем 29
Сообщения 97
1
16:39
Версия WP-Recall: 16.18.1

Снова здравствуйте. Дело такое, сейчас, при использовании {RCL-UM:usermeta_key} выводится соответствующее поле, а если поле пустое, то выводятся слова "Не указано". Мне нужно чтоб выводилось просто пустое поле без слов. Я нашёл где это править в функциях плагина. Файл /wp-content/plugins/wp-recall/rcl-functions.php В данном пхп файле нашёл код

$vars[] = '{RCL-UM:' . $meta . '}';

		$value	 = ($value	 = get_the_author_meta( $meta, $rcl_office )) ? $value : __( 'not specified', 'wp-recall' );

Естественно удалил между ковычками not specified и Поле стало выводиться пустым. Это хорошо, теперь когда я вставляю {RCL-UM:usermeta_key} в свою созданную таблицу, в ксс с помощью псевдокласса :empty я назначаю стили пустым ячейкам таблицы.
То есть когда есть надпись "Не указано" я не могу назначить стили пустым полям через :empty, когда же поле не заполнено, то могу. Вопрос мой лишь в том, можно ли изменить вывод этих слов "Не указано" на свой вывод через какой то фильтр в функциях темы, чтоб это изменение не слетело при обновлении????

0
Андрей CS
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 14828
2
16:50

ну вы же с WordPress работаете, такая возможность есть.
Функция висит на фильтре

add_filter( 'rcl_custom_tab_content', 'rcl_filter_custom_tab_usermetas', 5 );

вы можете отменить работу этого фильтра
remove_filter( 'rcl_custom_tab_content', 'rcl_filter_custom_tab_usermetas', 5 );

далее скопировать функцию rcl_filter_custom_tab_usermetas, переименовать и повесить уже на свой фильтр
и все это без правки кода плагина

0
daniablag
не в сети 2 месяца
На сайте с 12.02.2015
Участник
Тем 29
Сообщения 97
3
17:20

Спасибо заработало, для тех кто не шарит как я, но кому будет интересно и полезно расписываю решение.
Заходим в функции темы и удаляем фильтр, пишем

remove_filter( 'rcl_custom_tab_content', 'rcl_filter_custom_tab_usermetas', 5 );

Нужный нам фильр с функцией находятся в файле /wp-content/plugins/wp-recall/rcl-functions.php Вот весь этот фильтр с ниже стоящей функцией далее и копируем в функии темы
add_filter( 'rcl_custom_tab_content', 'rcl_filter_custom_tab_usermetas', 5 );
function rcl_filter_custom_tab_usermetas( $content ) {

Теперь изменяем в фильтре название функции 'rcl_filter_custom_tab_usermetas' на своё название к примеру 'rcl_filter_custom_tab_usermetas_2' и естественно ниже стоящей функции function rcl_filter_custom_tab_usermetas мы делаем такое же название function rcl_filter_custom_tab_usermetas_2. Ну и далее изменяем всё что в функции под себя. Мне к примеру нужно было чтоб если поле пустое, то выводилось пустое поле а не слова "Не указано", я удалил not specified из выводимого значения и стало как мне и требовалось выводиться пустое значение через {RCL-UM:usermeta_key} для незаполненных полей. А для незаполненных полей я уже назначил свои стили через псевдокласс :empty Может кому пригодится. Спасибо Андрею за помощь.

1
Тема закрыта. Публикация новых сообщений запрещена.