这是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>
希望对此有所帮助。
以下是该文件的屏幕截图(如果不确定):
答案 0 :(得分:0)
假设父主题使用get_template_part()函数来加载其部分/模板(如它,例如get_template_part( 'templates/single-listing/quick-actions/call-now' );
),那么您要做的就是复制templates
文件夹从父主题变成子主题,然后在其中编辑call-now.php
文件。