工作室子主題 function.php 文件自定義代碼備份。

標籤: 

正在查看 2 個帖子:1-2 (共 2 個帖子)
  • 作者
    帖子
  • 詩語
    管理員
    • 文章數量: 5,943
    發帖數:10000
    樓主
    @feibisi

    此篇文章用於工作室所用主題的 function.php 文件代碼備份。

    不知道是幹嘛的請忽略,工作室成員請留意,以後進行重大更新前記得先備份自定義 CSS 和代碼。

    詩語
    管理員
    • 文章數量: 5,943
    發帖數:10000
    樓主
    @feibisi
    <?php
    function theme_enqueue_styles() {
        wp_enqueue_style( 'avada-parent-stylesheet', get_template_directory_uri() . '/style.css' );
    }
    add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
    
    function avada_lang_setup() {
    	$lang = get_stylesheet_directory() . '/languages';
    	load_child_theme_textdomain( 'Avada', $lang );
    }
    add_action( 'after_setup_theme', 'avada_lang_setup' );
    
    // Disable Google Fonts, googlefonts.admincdn.com slow down site
    class Disable_Google_Fonts {
            public function __construct() {
                    add_filter( 'gettext_with_context', array( $this, 'disable_open_sans' ), 888, 4 );
    	}
    	public function disable_open_sans( $translations, $text, $context, $domain ) {
    		if ( 'Open Sans font: on or off' == $context && 'on' == $text ) {
    		        $translations = 'off';
    		}
    		return $translations;
    	}
    }
    $disable_google_fonts = new Disable_Google_Fonts;
    
    function remove_open_sans() {
        wp_deregister_style( 'open-sans' );
        wp_register_style( 'open-sans', false );
        wp_enqueue_style('open-sans','');
    }
    add_action( 'init', 'remove_open_sans' );
    
    // 默認不顯示工具欄
    add_action("user_register", "set_user_admin_bar_false_by_default", 10, 1);
    function set_user_admin_bar_false_by_default($user_id) {
        update_user_meta( $user_id, 'show_admin_bar_front', 'false' );
        update_user_meta( $user_id, 'show_admin_bar_admin', 'false' );
    }
    
    // 頭像 ssl
    function get_ssl_avatar($avatar) {
       $avatar = preg_replace('/.*\/avatar\/(.*)\?s=([\d]+)&.*/','<img src="https://secure.gravatar.com/avatar/$1?s=$2" class="avatar avatar-$2" height="$2" width="$2">',$avatar);
       return $avatar;
    }
    add_filter('get_avatar', 'get_ssl_avatar');
    
    function bp_remove_gravatar ($image, $params, $item_id, $avatar_dir, $css_id, $html_width, $html_height, $avatar_folder_url, $avatar_folder_dir) {
        $default = get_bloginfo('home') . '/wp-content/themes/Avada-Child-Theme/avatars/default-avatar.gif' ;
    
        if( $image && strpos( $image, "gravatar.com" ) ) {
            return '<img src="' . $default . '" alt="avatar" class="avatar" ' . $html_width . $html_height . ' />' ;
        } else {
            return $image ;
        }
    }
    
    add_filter('bp_core_fetch_avatar', 'bp_remove_gravatar', 1, 9 ) ;
    
    function remove_gravatar ($avatar, $id_or_email, $size, $default, $alt) {
        $default = get_bloginfo('home') . '/wp-content/themes/Avada-Child-Theme/avatars/default-avatar.gif' ;
    
        return '<img alt="' . $alt . '" src="' . $default . '" class="avatar avatar-' . $size . ' photo avatar-default" height="' . $size . '" width="' . $size . '" />' ;
    }
    
    add_filter('get_avatar', 'remove_gravatar', 1, 5) ;
    
    function bp_remove_signup_gravatar ($image) {
        $default = get_bloginfo('home') . '/wp-content/themes/Avada-Child-Theme/avatars/default-avatar.gif' ;
    
        if( $image && strpos( $image, 'gravatar.com' ) ) {
            return '<img src="' . $default . '" alt="avatar" class="avatar" width="150" height="150" />' ;
        } else {
            return $image ;
        }
    }
    
    add_filter('bp_get_signup_avatar', 'bp_remove_signup_gravatar', 1, 1 ) ;
    
    // 後台使用"PingFang SC"  Microsoft YaHei 字體
    function Fanly_admin_lettering() {
    	echo '<style type="text/css">
    * { font-family: "PingFang SC",Microsoft YaHei;-webkit-font-smoothing: antialiased; }
    #activity-widget #the-comment-list .avatar { max-width: 50px; max-height: 50px; }
    </style>';
    }
    add_action( 'admin_head', 'Fanly_admin_lettering' );
    
    // 修改 WordPress 用户名過濾機制,通過 Email 獲取用户名
    function tedlife_allow_email_login($username, $raw_username, $strict) {
      if (filter_var($raw_username, FILTER_VALIDATE_EMAIL)) {
        $user_data = get_user_by('email', $raw_username);
    
        if (empty($user_data))
          wp_die(__('<strong>ERROR</strong>: There is no user registered with that email address.'), ' 用户名不正確');
        else
          return $user_data->user_login;
      }
      else {
        return $username;
      }
    }
    
    // 修改登錄界面的文字," 用户名" 改成" 用户名或郵箱"
    function tedlife_change_text() {
      echo '<script type="text/javascript">
                    var user_login_node = document.getElementById("user_login");
                    var old_username_text = user_login_node.parentNode.innerHTML;
                    user_login_node.parentNode.innerHTML = old_username_text.replace(/用户名/, " 用户名或郵箱");
          </script>';
    }
    
    if (in_array($GLOBALS['pagenow'], array('wp-login.php')) && strpos($_SERVER['REQUEST_URI'], '?action=register') === FALSE && strpos($_SERVER['REQUEST_URI'], '?action=lostpassword') === FALSE && strpos($_SERVER['REQUEST_URI'], '?action=rp') === FALSE ) {
      add_filter('sanitize_user', 'tedlife_allow_email_login', 10, 3);
      add_action('login_footer', 'tedlife_change_text');
    }
    
    // 只允許管理員訪問 WordPress 後台
    function redirect_non_admin_users() {
        if ( ! current_user_can( 'manage_options' ) && '/wp-admin/admin-ajax.php' != $_SERVER['PHP_SELF'] ) {
            wp_redirect( home_url() );
            exit;
        }
    }
    add_action( 'admin_init', 'redirect_non_admin_users' );
    
    // remove header info
    remove_action( 'wp_head', 'feed_links', 2 ); //移除 feed
    remove_action( 'wp_head', 'feed_links_extra', 3 ); //移除 feed
    remove_action( 'wp_head', 'rsd_link' ); //移除離線編輯器開放接口
    remove_action( 'wp_head', 'wlwmanifest_link' ); //移除離線編輯器開放接口
    remove_action( 'wp_head', 'index_rel_link' );//去除本頁唯一鏈接信息
    remove_action('wp_head', 'parent_post_rel_link', 10, 0 );//清除前後文信息
    remove_action('wp_head', 'start_post_rel_link', 10, 0 );//清除前後文信息
    remove_action( 'wp_head', 'wp_generator' ); //移除 WordPress 版本
    
    // Add comment support to the post type
    add_filter( 'register_post_type_job_listing', 'custom_register_post_type_job_listing' );
    function custom_register_post_type_job_listing( $args ) {
      $args['supports'][] = 'comments';
      return $args;
    }
    
    // Add comment support to the post type
    add_filter( 'register_post_type_resume', 'register_post_type_resume_enable_comments' );
    
    function register_post_type_resume_enable_comments( $post_type ) {
    	$post_type['supports'][] = 'comments';
    	return $post_type;
    }
    
    // Make comments open by default for new job listing
    add_filter( 'submit_job_form_save_job_data', 'custom_submit_job_form_save_job_data' );
    function custom_submit_job_form_save_job_data( $args ) {
      $args['comment_status'] = 'open';
      return $args;
    }
    
    // Make comments open by default for new resumes
    add_filter( 'submit_resume_form_save_resume_data', 'custom_submit_resume_form_save_resume_data' );
    
    function custom_submit_resume_form_save_resume_data( $data ) {
    	$data['comment_status'] = 'open';
    	return $data;
    }
    
    //woocommerce 中文網關支持 paypal
    // details at https://devework.com/support-paypal-gateway-in-woocommerce.html
    //本函數解決的問題:貝寶不支持你的商鋪貨幣。 Gateway Disabled: PayPal does not support your store's currency.
    add_filter( 'woocommerce_paypal_supported_currencies', 'enable_custom_currency' );
    function enable_custom_currency($currency_array) {
      $currency_array[] = 'CNY';
      return $currency_array;
    }
    //美元人民幣轉,匯率自己定義
    //thanks https://www.solagirl.net/woocommerce-paypal-rmb.html
    add_filter('woocommerce_paypal_args', 'convert_rmb_to_usd');
    function convert_rmb_to_usd($paypal_args){
        if ( $paypal_args['currency_code'] == 'CNY'){
            $convert_rate = 6.2; //Set converting rate
            $count = 1;
            while( isset($paypal_args['amount_' . $count]) ){
                $paypal_args['amount_' . $count] = round( $paypal_args['amount_' . $count] / $convert_rate, 2);
                $count++;
            }
        }
        return $paypal_args;
    }
    
    // 替換 WordPress 默認 Emoji 資源地址
    function change_wp_emoji_baseurl($url){
    	return set_url_scheme('//img.feibisi.com/emoji/72x72/');
    }
    add_filter('emoji_url', 'change_wp_emoji_baseurl');
    
    //刪除結算頁面上多餘的表單元素 (fields)
    add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );
    function custom_override_checkout_fields( $fields ) {
      //unset($fields['order']['order_comments']);
      unset( $fields['billing']['billing_country'] );
      //unset( $fields['billing']['billing_first_name'] );
      //unset( $fields['billing']['billing_last_name'] );
      unset( $fields['billing']['billing_company'] );
      unset( $fields['billing']['billing_address_1'] );
      unset( $fields['billing']['billing_address_2'] );
      unset( $fields['billing']['billing_city'] );
      unset( $fields['billing']['billing_state'] );
      unset( $fields['billing']['billing_postcode'] );
      //unset($fields['billing']['billing_email']);
      unset( $fields['billing']['billing_phone'] );
    return $fields;
    }
    
    //添加媒體庫上傳文件地址自定義功能
    add_filter( 'upload_dir', 'custom_upload_dir' );
    function custom_upload_dir( $uploads ) {
        $dir = $_SERVER['DOCUMENT_ROOT'];
        $upload_path = '/data/web/img.feibisi.com/';
        $upload_url_path = 'https://img.feibisi.com';
    
        if ( empty( $upload_path ) || 'wp-content/uploads' == $upload_path ) {
            $uploads['basedir']  = WP_CONTENT_DIR . '/uploads';
        } elseif ( 0 !== strpos( $upload_path, ABSPATH ) ) {
            $uploads['basedir'] = path_join( ABSPATH, $upload_path );
        } else {
            $uploads['basedir'] = $upload_path;
        }
    
        $uploads['path'] = $uploads['basedir'].$uploads['subdir'];
    
        if ( $upload_url_path ) {
            $uploads['baseurl'] = $upload_url_path;
            $uploads['url'] = $uploads['baseurl'].$uploads['subdir'];
        }
        return $uploads;
    }
    
    add_filter( 'bbp_after_get_the_content_parse_args', 'bavotasan_bbpress_upload_media' );
    /**
     * Allow upload media in bbPress
     *
     * This function is attached to the 'bbp_after_get_the_content_parse_args' filter hook.
     */
    function bavotasan_bbpress_upload_media( $args ) {
    	$args['media_buttons'] = true;
    
    	return $args;
    }
    
正在查看 2 個帖子:1-2 (共 2 個帖子)
  • 哎呀,回覆話題必需登錄。

話題信息