Я сделал несколько пользовательских изменений в файлах шаблонов в моей родительской теме WordPress. Как мне убедиться, что они не перезаписываются при обновлении темы? - PullRequest
0 голосов
/ 11 мая 2019

Это код внутри шаблона php. Но это будет перезаписано, когда я обновлю тему, потому что изменение сделано в файлах материнской темы.

Можно ли поместить этот код в файл дочерней темы functions.php? Или мне нужно скопировать файлы шаблона в мою дочернюю тему? Каков наилучший способ сохранить эти изменения на будущее? Одна из сделанных модификаций - это приведенный ниже код, который просто скрывает элемент, основанный на пользовательских ролях, на моей странице с одним списком.

<?php
/**
 * `Call now` quick action.
 *
 * @since 2.0
 */

if ( ! ( $phone = $listing->get_field('phone') ) )
    return;

// if you want to not display anything for guests
if ( !is_user_logged_in() )
    return;

// if you want to not display anything for anyone but administrator or subscriber
$user = wp_get_current_user();
if ( !in_array( 'administrator', (array) $user->roles ) && !in_array( 'subscriber', (array) $user->roles ) ) 
    return;

$link = sprintf( 'tel:%s', $phone );
?>

<li id="<?php echo esc_attr( $action['id'] ) ?>" class="<?php echo esc_attr( $action['class'] ) ?>">
    <a href="<?php echo esc_url( $link ) ?>" rel="nofollow">
        <?php echo c27()->get_icon_markup( $action['icon'] ) ?>
        <span><?php echo $action['label'] ?></span>
    </a>
</li>

Буду признателен за любую помощь в этом.

Вот скриншот файла, если он нужен, я не уверен:

the php file

1 Ответ

0 голосов
/ 11 мая 2019

Предполагая, что родительская тема использует функцию get_template_part () для загрузки своих партиалов / шаблонов (как и должно быть, например, get_template_part( 'templates/single-listing/quick-actions/call-now' );), тогда все, что вам нужно сделать, это скопировать папку templates из родительской темы в дочернюю тему и отредактируйте там файл call-now.php.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...