Как исключить конкретный лейбл из генератора PDF?

Ссылка скопирована
1 ответ

Здравствуйте, незнаю как точно задать вопрос. Есть плагин генератора кастомных полей в PDF. Мне нужно, чтобы одно поле, которое должно показываться в личном кабинете пользователя, не создавалось в генераторе PDF. Прикрепляю файл генерации.

Сам код которые предположительно надо менять тут

<div class="cndt-custom-field-title"><?php echo ($field_label) ?></div><div>ddd</div>

<div class="cndt-custom-field-title"><?php echo ($field_label) ?></div><div>ddd</div>

ddd - поставил чтобы быстрее найти, так как это и отображается в пдф

Думал сделать что то типо

if ($field_label == "название лейбла") {  ... } else { echo ($field_label) }

if ($field_label == "название лейбла") { ... } else { echo ($field_label) }

но вообще не понимаю как, любое if, выдает критическую ошибку

ссыдка для файла phph - https://kinostaff.pro/111/jobsearch-candidate-resu...

Дополнительно:

<?php echo $field_label == "название лейбла" ? "": $field_label; ?>

<?php echo $field_label == "название лейбла" ? "": $field_label; ?>

А вообще, нужно искать источник, откуда берется перечень полей, и исправлять его. А не делать костыли в шаблоне вывода.

  • Да я знаю, там нужно переписывать генератор, чтоб это было не часть массива, а отдельная субстанция. Но это долго, и нет таких знаний и денег))
  • Примного благодарен, все работает, тем же методом убрал и иконку и описание, спасибо!
Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Виктор Sys Ответ

Идея с проверкой $field_label правильная, но вставлять if в шаблон PDF нужно аккуратно: в PHP критическая ошибка часто появляется из-за пропущенных скобок, неправильного места вставки или из-за того, что переменная содержит не тот текст, который Вы сравниваете.

Если нужно не выводить один конкретный label, минимальный вариант такой:

<?php if ($field_label !== 'Название лейбла') : ?>
    <div class="cndt-custom-field-title">
        <?php echo esc_html($field_label); ?>
    </div>
<?php endif; ?>

<?php if ($field_label !== 'Название лейбла') : ?> <div class="cndt-custom-field-title"> <?php echo esc_html($field_label); ?> </div> <?php endif; ?>

Если вместе с заголовком нужно скрыть и значение поля, оборачивайте весь блок поля, а не только label:

<?php if ($field_label !== 'Название лейбла') : ?>
    <div class="cndt-custom-field">
        <div class="cndt-custom-field-title">
            <?php echo esc_html($field_label); ?>
        </div>
        <div class="cndt-custom-field-value">
            <?php echo wp_kses_post($field_value); ?>
        </div>
    </div>
<?php endif; ?>

<?php if ($field_label !== 'Название лейбла') : ?> <div class="cndt-custom-field"> <div class="cndt-custom-field-title"> <?php echo esc_html($field_label); ?> </div> <div class="cndt-custom-field-value"> <?php echo wp_kses_post($field_value); ?> </div> </div> <?php endif; ?>

Если лейблов несколько:

$excluded_labels = ['Название лейбла', 'Второе поле'];
 
if (!in_array($field_label, $excluded_labels, true)) {
    // вывод поля
}

$excluded_labels = ['Название лейбла', 'Второе поле']; if (!in_array($field_label, $excluded_labels, true)) { // вывод поля }

Но правильнее искать не label, а ключ поля. Label может поменяться в админке или отличаться из-за пробелов/перевода. Если в массиве поля есть что-то вроде $field_key, $field_name или $field['name'], фильтруйте по нему.

И ещё важный момент: править файл плагина напрямую плохо, потому что обновление плагина затрёт изменения. Лучше найти шаблон, который можно переопределить в теме, или hook/filter плагина. Если такой возможности нет, хотя бы сделайте копию файла и зафиксируйте правку, чтобы после обновления быстро вернуть её.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно