大家晚上好。我試圖環顧網路以找到解決方案,但無法真正找到任何相關內容。我只需要撰寫一個片段,通過隱藏“我的帳戶”頁面中的欄位或任何其他更智能的方式來防止用戶更改其顯示名稱。謝謝
uj5u.com熱心網友回復:
謝謝你的提問。您可以將此代碼插入主題functions.php 或使用代碼片段插件。希望它會起作用。
function wp_disable_display_name() {
global $pagenow;
if ( $pagenow == 'profile.php' ) {
?>
<script>
jQuery( document ).ready(function() {
jQuery('#display_name').prop('disabled', 'disabled');
});
</script>
<?php
}
}
add_action( 'admin_head', 'wp_disable_display_name', 15 );
uj5u.com熱心網友回復:
根據您的問題,我可以假設您正在使用 WooCommerce。你需要做一些事情來實作它:
- 從我的帳戶模板檔案中洗掉account_display_name欄位:
首先,復制 my-account.php 檔案
/wp-content/plugins/woocommerce/templates/myaccount/my-account.php
到您的子主題檔案夾
/wp-content/themes/ your_child_theme /woocommerce/myaccount/my-account.php
然后打開復制的檔案并洗掉與account_display_name欄位相關的 html 標記和 php 代碼:
<p class="woocommerce-form-row woocommerce-form-row--wide form-row form-row-wide">
<label for="account_display_name"><?php esc_html_e( 'Display name', 'woocommerce' ); ?> <span class="required">*</span></label>
<input type="text" class="woocommerce-Input woocommerce-Input--text input-text" name="account_display_name" id="account_display_name" value="<?php echo esc_attr( $user->display_name ); ?>" />
<span><em><?php esc_html_e( 'This will be how your name will be displayed in the account section and in reviews', 'woocommerce' ); ?></em></span>
</p>
<div class="clear"></div>
- 使用woocommerce_save_account_details_required_fields鉤子從必填欄位中取消設定account_display_name欄位。這是在我的帳戶頁面上保存更改時避免驗證錯誤所必需的。
將以下 php 代碼放入您孩子的主題 functions.php 檔案中:
add_filter('woocommerce_save_account_details_required_fields', 'remove_required_fields');
function remove_required_fields( $required_fields ) {
unset($required_fields['account_display_name']);
return $required_fields;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/323235.html
標籤:php WordPress的 代码片段
