HEX
Server: Apache/2.4.59 (Debian)
System: Linux keymana 4.19.0-21-cloud-amd64 #1 SMP Debian 4.19.249-2 (2022-06-30) x86_64
User: lijunjie (1003)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/dk/wp-content/themes/food/functions.php
<?php
date_default_timezone_set('PRC'); //UTC PRC
//date_default_timezone_set('UTC'); //UTC PRC
//date_default_timezone_set('Asia/Shanghai'); //UTC PRC
//echo date_default_timezone_get();  // 输出 UTC
//$date = new DateTime('now', new DateTimeZone('America/New_York'));
//echo $date->format('Y-m-d H:i:s');
// 输出纽约当前时间

// 将时区更改为东八区(北京时间)
//date_timezone_set('now', new DateTimeZone('Asia/Shanghai'));
//echo $date->format('Y-m-d H:i:s');
// 输出北京当前时间

add_filter('show_admin_bar', '__return_false');

include_once 'Utils/ApiErrorDesc.php';

include_once 'functions_include.php';

$local_url = get_stylesheet_directory_uri() . '/food-app/';

$domain_url = esc_url(home_url('/'));

function showFoodAppPath($path)
{
    global $local_url;
    echo $local_url . $path;
}

global $MallMallChannel_index_post_id;
$MallMallChannel_index_post_id = 81;
if (isLoaclhost()) {
    $MallMallChannel_index_post_id = 20;
}

global $MMC_index_post_id;
$MMC_index_post_id = 114;
if (isLoaclhost()) {
    $MMC_index_post_id = 20;
}


//多平台登入
/**
 * $login_type 登入類型 google,facebook,其他
 * $uid 三方登入完整uid
 * $user_login_name 其他登入方式,賬戶名
 * $user_pass 其他登入方式,賬戶密碼
 *
 * $displayName 三方登入用戶名稱
 * $email 三方登入用戶郵箱
 *
 * success 跳轉
 * error { rc, msg }
 */
function login_by_type($user_login_name = '', $user_pass = '')
{
    function login_by_wp_user($user)
    {
        $rv = new stdClass;

        if (!empty($user)) {
            wp_set_current_user($user->ID, $user->user_login);
            wp_set_auth_cookie($user->ID);
            $current_user = wp_get_current_user();
            $rv->rc = 0;
            $rv->msg = 'success';
            return $rv;
        } else {
            $rv->rc = 2;
            $rv->msg = '登入失敗';
            return $rv;
        }
    }

    if (empty($user_login_name) || empty($user_pass)) {
        $rv->rc = 1;
        $rv->msg = '登入失敗 - 用戶名或密碼錯誤';
        return $rv;
    }
    $rv = new stdClass;
    $creds = array();
    $creds['user_login'] = $user_login_name;
    $creds['user_password'] = $user_pass;
    $creds['remember'] = false;
    $user = wp_signon($creds, false);
    if (!is_wp_error($user)) {
        $rv = login_by_wp_user($user);
        return $rv;
    } else {
        $rv->rc = 1;
        $rv->msg = '登入失敗 - 用戶名或密碼錯誤';
        return $rv;
    }
}

function get_login_user()
{
    global $wpdb;
    $current_user = wp_get_current_user();
    $current_id = $current_user->ID;
    if ($current_id == 0) {
        return [
            'ID' => 0,
            'user_name' => '',
            'cart_num' => 0,
            'user_phone' => '',
            'user_email' => '',
            'user_address' => [
                'address1' => '',
                'address2' => '',
                'address3' => '',
                'address4' => '',
            ],
            'address_current' => ''
        ];
    } else {
        return [
            'ID' => $current_user->ID,
            'user_name' => $current_user->data->user_nicename,
            'cart_num' => $wpdb->get_var($wpdb->prepare("SELECT count(*) from food_cart where `uid` = %d and `status` = 1", $current_user->ID)),
            'user_phone' => get_user_meta($current_id, 'user_phone', true),
            'user_email' => get_user_meta($current_id, 'user_email', true),
            'user_address' => [
                'address1' => get_user_meta($current_id, 'address1', true),
                'address2' => get_user_meta($current_id, 'address2', true),
                'address3' => get_user_meta($current_id, 'address3', true),
                'address4' => get_user_meta($current_id, 'address4', true),
            ],
            'address_current' => get_user_meta($current_id, 'address_current', true)
        ];
    }
}

function user_login_out()
{
    wp_logout();
}

/**
 * 后台 专区 设置
 * @return void
 */
function food_banner_callback()
{
    echo "<style>#setting-error-booked{display:none;}.notice.is-dismissible.notice-info{display:none;}</style>";
    require_once 'food-admin/page-food-banner.php';
}

function food_home_callback()
{
    echo "<style>#setting-error-booked{display:none;}.notice.is-dismissible.notice-info{display:none;}</style>";
    require_once 'food-admin/page-food-home.php';
}

function BizRoadShow_home_callback()
{
    echo "<style>#setting-error-booked{display:none;}.notice.is-dismissible.notice-info{display:none;}</style>";
    require_once 'food-admin/page-BizRoadShow-home.php';
}

function MedicalMediaChannel_home_callback()
{
    echo "<style>#setting-error-booked{display:none;}.notice.is-dismissible.notice-info{display:none;}</style>";
    require_once 'food-admin/page-MedicalMediaChannel-home.php';
}

function food_fb_img_callback()
{
    echo "<style>#setting-error-booked{display:none;}.notice.is-dismissible.notice-info{display:none;}</style>";
    require_once 'food-admin/page-food-fb-img.php';
}

/**
 * 說明書
 * @return void
 */
function page_food_instructions_callback()
{
    echo "<style>#setting-error-booked{display:none;}.notice.is-dismissible.notice-info{display:none;}</style>";
    require_once 'food-admin/page-food-instructions.php';
}

/**
 * Add Menu to WC
 */

//add_action( 'admin_menu', 'admin_menu' );
//function admin_menu() {
//    $page = add_submenu_page( 'woocommerce', __( 'My Orders', 'my_text_domain' ), __( 'My Orders', 'my_text_domain' ), apply_filters( 'woocommerce_my_roles', 'manage_woocommerce' ), 'my_orders_page', 'output');
//}

function my_admin_menu()
{
//    add_menu_page('Banner', 'Banner', 'administrator', 'food_banner', 'food_banner_callback', 'dashicons-admin-generic', 10);
//
//    add_menu_page('Medical Media Channel setting', 'Medical Media Channel setting', 'administrator', 'home_setting3', 'MedicalMediaChannel_home_callback', 'dashicons-admin-generic', 13);
//
//    add_menu_page('使用說明書', '使用說明書', 'administrator', 'page_food_instructions', 'page_food_instructions_callback', 'dashicons-exerpt-view', 14);

//    add_menu_page('food banner', 'Banner', 'shop_manager', 'food_banner', 'food_banner_callback', 'dashicons-admin-generic', 6);
    //    add_menu_page('food FB img setting', 'FB img Setting', 'shop_manager', 'food_fb_img_setting', 'food_fb_img_callback', 'dashicons-admin-generic', 44);


//    add_menu_page('Mall Mall Channel setting', 'Mall Mall Channel setting', 'administrator', 'home_setting1', 'food_home_callback', 'dashicons-admin-generic', 11);
//
//    add_menu_page('Biz Road Show setting', 'Biz Road Show setting', 'administrator', 'home_setting2', 'BizRoadShow_home_callback', 'dashicons-admin-generic', 12);




//    add_menu_page('使用說明書', '使用說明書', 'shop_manager', 'page_food_instructions', 'page_food_instructions_callback', 'dashicons-exerpt-view', 15);
//    add_menu_page('使用說明書', '使用說明書', 'manage_woocommerce', 'page_food_instructions', 'page_food_instructions_callback', 'dashicons-exerpt-view', 15);

//    add_menu_page('使用說明書', '使用說明書', apply_filters( 'woocommerce_my_roles', 'manage_woocommerce' ), 'page_food_instructions', 'page_food_instructions_callback', 'dashicons-exerpt-view', 1);

//    add_submenu_page( 'woocommerce', __( 'My Orders', 'my_text_domain' ), __( 'My Orders', 'my_text_domain' ), apply_filters( 'woocommerce_my_roles', 'manage_woocommerce' ), 'my_orders_page', 'output');
//    add_submenu_page( 'woocommerce', __( 'My Orders', 'my_text_domain' ), __( 'My Orders', 'my_text_domain' ), apply_filters( 'woocommerce_my_roles', 'manage_woocommerce' ), 'page_food_instructions_callback', 'output');

    add_menu_page('Banner', 'Banner', 'manage_woocommerce', 'food_banner2', 'food_banner_callback', 'dashicons-admin-generic', '3');

    add_menu_page('Medical Media Channel setting', 'Medical Media Channel setting', 'manage_woocommerce', 'home_setting2', 'MedicalMediaChannel_home_callback', 'dashicons-admin-generic', '4');

    add_menu_page('使用說明書', '使用說明書', 'manage_woocommerce',  'page_food_instructions2', 'page_food_instructions_callback', null, '5');

//    add_submenu_page(
//        'edit.php',
//        __( 'Product Grabber' ),
//        __( 'Grab New' ),
//        'manage_woocommerce', // Required user capability
//        'ddg-product',
//        'page_food_instructions_callback'
//    );
//add_menu_page( $page_title, $menu_title, $capability, $menu_slug, $function, $icon_url, $position );
//$page_title页面title标签信息
//$menu_title 菜单标题
//capability  权限
//menu_slug  别名
//function  执行函数
//icon_url  菜单图标url地址
//position  此菜单项在菜单中的位置,警告:如果两个菜单项的位置属性相同,其中一个可能要被覆盖
}

add_action('admin_menu', 'my_admin_menu');

/**
 * //添加后台设置主页面   这个函数会在后台“外观”菜单项下面新建一个菜单项
 */
//function mainpage_function()
//{
//    add_menu_page('title标题', '系统后台管理入口', 'edit_posts', 'ashu_slug', 'display_mainpage', '', 6); //edit_posts edit_themes
//}
//
//function display_mainpage()
//{
//    echo '<h1>系统后台管理入口</h1>';
//    $goURL = 'http://app.tangchinese.org/tang-admin'; //aiden_get_page('xtbackendindex');
//    echo "<a href='{$goURL}' target='_blank'>进入</a>";
//}
//
//add_action('admin_menu', 'display_mainpage');

//function admin_page_menu_add()
//{
////    add_menu_page('title标题', '系统后台管理入口', 'edit_posts', 'ashu_slug', 'display_mainpage', '', 6); //edit_posts edit_themes
//    add_menu_page('food banner', 'Banner', 'edit_posts', 'ai_slug', 'food_banner_callback', 'dashicons-admin-generic', 6); //edit_posts edit_themes
//    add_menu_page('food home setting', 'Home Setting', 'edit_posts', 'ai_slug2', 'food_home_callback', 'dashicons-admin-generic', 7);
//}
//
//add_action('admin_menu', 'admin_page_menu_add');
/**
 * 添加后台设置主页面  end
 */


function fwm_hide_item_menu_dashboard()
{
    if (current_user_can('shop_manager')) {
        remove_menu_page('index.php'); //Dashboard
        remove_menu_page('edit.php'); //Posts
        remove_menu_page('edit.php?post_type=page'); //Pages
        remove_menu_page('edit-comments.php'); //Comments
        remove_menu_page('themes.php'); //Appearance
        remove_menu_page('plugins.php'); //Plugins
        remove_menu_page('users.php'); //Users
        remove_menu_page('tools.php'); //Tools
        remove_menu_page('options-general.php'); //Settings
    }
}

add_action('admin_menu', 'fwm_hide_item_menu_dashboard');

add_filter('woocommerce_product_data_store_cpt_get_products_query', 'handle_price_range_query_var', 10, 2);
function handle_price_range_query_var($query, $query_vars)
{
    if (!empty($query_vars['min_price']) || !empty($query_vars['max_price']) || !empty($query_vars['price_order'])) {
        $query['meta_query']['relation'] = 'AND';

        if (!empty($query_vars['min_price'])) {
            $query['meta_query'][] = array(
                'key' => '_price',
                'value' => $query_vars['min_price'], // From price value
                'compare' => '>=',
                'type' => 'NUMERIC'
            );
        } else {
            $query['meta_query'][] = array(
                'key' => '_price',
                'value' => 0, // From price value
                'compare' => '>=',
                'type' => 'NUMERIC'
            );
        }

        if (!empty($query_vars['max_price'])) {
            $query['meta_query'][] = array(
                'key' => '_price',
                'value' => $query_vars['max_price'], // From price value
                'compare' => '<=',
                'type' => 'NUMERIC'
            );
        }

        $query['orderby'] = 'meta_value_num'; // sort by price
        $query['order'] = !empty($query_vars['price_order']) ? $query_vars['price_order'] : 'ASC'; // In ascending order
    }
    return $query;
}

/**
 * 增加自定义 文章类型 register_post_type
 * @param
 */
//function wpkt_custom_post_type_infos()
//{
//
//    $labels = array(
//        'name' => '公告資料',
//        'singular_name' => "公告資料",
//        'add_new' => '发布 公告資料',
//        'all_items' => '公告資料 列表');
//
//    $args = array(
//        'labels' => $labels,
//        'public' => true,
//        "has_archive" => true,
//        'rewrite' => array('slug' => 'infos')
//    );
//
////调用 register_post_type 函数。
//    register_post_type('infos', $args);
//}
//
///**
// * 1/将自定义函数挂载到 init 钩子下
// * @param
// */
//
//add_action('init', 'wpkt_custom_post_type_infos');

/**
 * 菜单
 */
// This theme uses wp_nav_menu() in one location.
register_nav_menus();

//更改li a样式
function baolog_menu_link_class($atts, $item, $args)
{
    $menu_name = 'infos_menu';
    //menu_index是你注册的导航名字
    if ($args->theme_location == $menu_name) {
        //获取导航id
        $menuLocations = get_nav_menu_locations();
        $menuID = $menuLocations[$menu_name];
        //获取当前导航名
        $id = $item->ID;//当前所遍历到的item(这里的item不能直接获取名字)
        $primaryNav = wp_get_nav_menu_items($menuID);

        $class = 'nav-link';//默认样式名
        //重新利用 wp_get_nav_menu_items()函数遍历当前菜单
        foreach ($primaryNav as $navItem) {
            //获取菜单item名
            $item_name = $navItem->title;
            //可以做一些其他的验证 比如我需要的就是下面
            if ($navItem->ID == $id) {//利用id反查出item的名字
                //可以判断is_page('页面名')||$item_name=="咕噜球"
                if (is_page('咕咕咕')) {
                    if ($item_name == "咕噜球") {
                        $class .= ' active';//追加样式
                    }
                }
            }
        }
        $atts['class'] = $class;
    }
    return $atts;
}

add_filter('nav_menu_link_attributes', 'baolog_menu_link_class', 1, 3);

/**
 * wordpress 菜单函数
 */
//$parameter = array(
//    'theme_location' => '',//指定显示的导航名,如果没有设置,则显示第一个
//    'menu' => 'header-menu',
//    'container' => 'nav',//最外层容器标签名
//    'container_class' => 'primary',//最外层容器class名
//    'container_id' => '',//最外层容器id值
//    'menu_class' => 'sf-menu',//ul标签class
//    'menu_id' => 'topnav',//ul标签id
//    'echo' => true,//是否打印,默认是true,如果想将导航的代码作为赋值使用,可设置为false
//    'fallback_cb' => 'wp_page_menu',//备用的导航菜单函数,用于没有在后台设置导航时调用
//    'before' => '',//显示在导航a标签之前
//    'after' => '',//显示在导航a标签之后
//    'link_before' => '',//显示在导航链接名之后
//    'link_after' => '',//显示在导航链接名之前
//    'items_wrap' => '<ul id="%1$s">%3$s</ul>',
//    'depth' => 0,//显示的菜单层数,默认0,0是显示所有层
//    'walker' => ''//调用一个对象定义显示导航菜单
//);
//wp_nav_menu($parameter);
//
// 列出顶部导航菜单,菜单名称为mymenu,只列出一级菜单
// wp_nav_menu(array('menu' => 'infos_menu', 'depth' => 2));
//
//$t = get_terms('category', 'orderby=name&hide_empty=0' );
//print_r($t);

/**
 * 获取自定义菜单
 * @param $menu_name
 * @return array
 */
function ai_get_menu_items($menu_name)
{
    $nav_menu_object = wp_get_nav_menu_object($menu_name);
//print_r($nav_menu_object);
    $location_id = $nav_menu_object->term_id;

    $outArr = [];

    $menus = wp_get_nav_menus();

    foreach ($menus as $menu) {

        if (isset($menu->term_id) && $menu->term_id != 0 && $menu->term_id == $location_id) {
//            print_r($menu->term_id);
            $menu_items = wp_get_nav_menu_items($menu);
//            print_r($menu_items);

            if (is_array($menu_items)) {

                $subArr = [];

                foreach ($menu_items as $menuObj) {
//                    print_r($menuObj);
                    $menu_item_parent = $menuObj->ID;

                    $mObj = new stdClass();
                    $mObj->id = $menuObj->ID;
                    $mObj->title = $menuObj->title;
                    $mObj->type = $menuObj->type;
                    $mObj->url = $menuObj->url;

                    if ($menuObj->type == 'taxonomy') {
                        $mObj->data = [];
                        $outArr[$menu_item_parent] = $mObj;

                    } elseif ($menuObj->type == 'post_type') {
                        $mObj->menu_item_parent = $menuObj->menu_item_parent;

                        $subArr[] = $mObj;
                    }
                }


                foreach ($subArr as $sub) {
                    $mainId = $sub->menu_item_parent;
//                    echo '$mainId -> ' . $mainId;

                    $dataArr = $outArr[$mainId]->data;
                    $dataArr[] = $sub;

                    $outArr[$mainId]->data = $dataArr;
                }

            }

        }
    }
    return $outArr;
}

/**
 * 分类
 */
function show_category()
{
    global $wpdb;
    $request = "SELECT $wpdb->terms.term_id, name FROM $wpdb->terms ";
    $request .= " LEFT JOIN $wpdb->term_taxonomy ON $wpdb->term_taxonomy.term_id = $wpdb->terms.term_id ";
    $request .= " WHERE $wpdb->term_taxonomy.taxonomy = 'category' ";
    $request .= " ORDER BY term_id asc";
    $categorys = $wpdb->get_results($request);
    foreach ($categorys as $category) { //调用菜单
        $output = '<span>' . $category->name . "(<em>" . $category->term_id . '</em>)</span>';
        echo $output;
    }
}

//show_category();


/**
 * 数字分页函数
 * 因为wordpress默认仅仅提供简单分页
 * 所以要实现数字分页,需要自定义函数
 * @Param int $range 数字分页的宽度
 * @Return string|empty        输出分页的HTML代码
 */
function lingfeng_pagenavi($range = 4)
{
    global $paged, $wp_query;
//    if ( !$max_page ) {
//        $max_page = $wp_query->max_num_pages;
//    }
    $max_page = $wp_query->max_num_pages;
    if ($max_page > 1) {
//        echo "<div class='fenye space-x-4 grid justify-center gap-2'>";
        echo "<nav class='md:ml-auto md:mr-auto flex flex-wrap items-center text-[0.2rem] justify-center'>";
        if (!$paged) {
            $paged = 1;
        }
        if ($paged != 1) {
            echo "<a class='mx-2 hover:text-gray-900 ' href='" . get_pagenum_link(1) . "' class='extend' title='跳转到首页'>首页</a>";
        }
        previous_posts_link('上一页');
        if ($max_page > $range) {
            if ($paged < $range) {
                for ($i = 1; $i <= ($range + 1); $i++) {
                    echo "<a class='mr-2 hover:text-gray-900' href='" . get_pagenum_link($i) . "'";
                    if ($i == $paged) echo " class='current'";
                    echo ">$i</a>";
                }
            } elseif ($paged >= ($max_page - ceil(($range / 2)))) {
                for ($i = $max_page - $range; $i <= $max_page; $i++) {
                    echo "<a class='mr-2 hover:text-gray-900' href='" . get_pagenum_link($i) . "'";
                    if ($i == $paged) echo " class='current'";
                    echo ">$i</a>";
                }
            } elseif ($paged >= $range && $paged < ($max_page - ceil(($range / 2)))) {
                for ($i = ($paged - ceil($range / 2)); $i <= ($paged + ceil(($range / 2))); $i++) {
                    echo "<a class='mr-2 hover:text-gray-900' href='" . get_pagenum_link($i) . "'";
                    if ($i == $paged) echo " class='current'";
                    echo ">$i</a>";
                }
            }
        } else {
            for ($i = 1; $i <= $max_page; $i++) {
                echo "<a class='mx-2 hover:text-gray-900' href='" . get_pagenum_link($i) . "'";
                if ($i == $paged) echo " class='current'";
                echo ">$i</a>";
            }
        }
        next_posts_link('下一页');
        if ($paged != $max_page) {
            echo "<a class=' mx-2 hover:text-gray-900' href='" . get_pagenum_link($max_page) . "' class='extend' title='跳转到最后一页'>尾页</a>";
        }
        echo '<span >共[' . $max_page . ']页</span>';
        echo "</div>\n";
    }
}


/**
 * getPostViews()函数
 * 功能:获取阅读数量
 * 在需要显示浏览次数的位置,调用此函数
 * @Param object|int $postID 文章的id
 * @Return string $count          文章阅读数量
 */
function getPostViews($postID)
{
    $count_key = 'post_views_count';
    $count = get_post_meta($postID, $count_key, true);
    if ($count == '') {
        delete_post_meta($postID, $count_key);
        add_post_meta($postID, $count_key, '0');
        return "0";
    }
    return $count;
}

/**
 * lingfeng_strimwidth( ) 函数
 * 功能:字符串截取,并去除字符串中的html和php标签
 * @Param string $str 要截取的原始字符串
 * @Param int $len 截取的长度
 * @Param string $suffix 字符串结尾的标识
 * @Return string                    处理后的字符串
 */
function lingfeng_strimwidth($str, $len, $start = 0, $suffix = '……')
{
    $str = str_replace(array(' ', ' ', '&nbsp;', '\r\n'), '', strip_tags($str));
    if ($len > mb_strlen($str)) {
        return mb_substr($str, $start, $len);
    }
    return mb_substr($str, $start, $len) . $suffix;
}


function aiwp_get_post_thumbnail_src($postID, $size = 'thumbnail')
{
//    $post_ID= $post->ID;
    $post_thumbnail_id = get_post_thumbnail_id($postID);
    $post_thumbnail_src = wp_get_attachment_image_src($post_thumbnail_id, $size); //'Full'
    if (is_array($post_thumbnail_src)) {
        return $post_thumbnail_src[0];
    } else {
        return '';
    }


//the_post_thumbnail()函数可以通过设置参数,修改缩略图在列表页中显示的大小。

//the_post_thumbnail(); // 默认显示缩略图
//
//the_post_thumbnail(‘thumbnail’); // 显示缩略图
//
//the_post_thumbnail(‘medium’); // 显示中等尺寸
//
//the_post_thumbnail(‘large’); // 显示大尺寸
//
//the_post_thumbnail( array(200,200) ); // 自定义尺寸

}

class CheckFunc
{
    /**
     * input 输入检测
     * @param $value
     * @param int $length
     * @return false|string
     */
    static function checkInput($value, $length = 0)
    {
        $value = trim(stripslashes(htmlspecialchars_decode($value)));
//        echo 'input'. $value.PHP_EOL;
        if ($length != 0) {
            $value = substr($value, 0, $length);
        }
//        echo 'output'.$value.PHP_EOL;
        return $value;
    }

    /**
     * input  输入检测 2
     * @param $value
     * @param int $length
     * @param string $default
     * @return string
     */
    static public function checkInput2($value, $length = 100, $default = '')
    {
        return isset($_REQUEST[$value]) ? substr(trim($_REQUEST[$value]), 0, $length) : $default;
    }

    /**
     * input int 整数输入检测
     * @param $value
     * @param int $length
     * @return false|int|string
     */
    static public function checkInputInt($value, $length = 0)
    {
        $value = intval(trim($value));
        if ($length != 0) {
            $value = substr($value, 0, $length);
        }
        return $value;
    }

    /**
     * input int 整数输入检测 2
     * @param $value
     * @param int $length
     * @param int $default
     * @return int
     */
    static public function checkInputInt2($value, $length = 10, $default = 0)
    {
        return isset($_REQUEST[$value]) ? intval(substr(trim($_REQUEST[$value]), 0, $length)) : $default;
    }
}

/**
 * 获取首页信息
 * @param $post_id
 * @return stdClass
 */
function getHomeInfo($post_id)
{
    $home_info = new stdClass();
    $home_info->cate1 = get_post_meta($post_id, "cate1", true);
    $home_info->part2_m_url = get_post_meta($post_id, "part2_m_url", true);
    $home_info->part2_pc_url = get_post_meta($post_id, "part2_pc_url", true);
    $home_info->part2_cate = get_post_meta($post_id, "part2_cate", true);
    $home_info->about_company_url = get_post_meta($post_id, "about_company_url", true);
    $home_info->about_content = get_post_meta($post_id, "about_content", true);
    $home_info->about_phone = get_post_meta($post_id, "about_phone", true);
    $home_info->about_call = get_post_meta($post_id, "about_call", true);
    $home_info->about_fax = get_post_meta($post_id, "about_fax", true);
    $home_info->about_addr = get_post_meta($post_id, "about_addr", true);
    $home_info->about_addr_en = get_post_meta($post_id, "about_addr_en", true);
    $home_info->payme_url = get_post_meta($post_id, "payme_url", true);
    $home_info->zone_video_url = get_post_meta($post_id, "zone_video_url", true);

    return $home_info;
}

//判断是否包含字符串
function StrContains($str, $needle)
{
    //    https://www.youtube.com
    return !(strpos($str, $needle) === FALSE);
}


/**
 * 判断是否包含youtube
 * @param $str
 * @return bool
 */
function strYoutubeContains($str)
{
    $needle = 'https://www.youtube.com';
    return StrContains($str, $needle);
}

//1、用WordPress原生的函数来实现,代码如下:
//$current_url = home_url(add_query_arg(array()));

function isLoaclhost()
{
    $current_url = home_url(add_query_arg(array()));
    return StrContains($current_url, 'http://wp.cn');
}

$img_fail_url = "http://dk.smart1space.site//wp-content/themes/food/food-app/img/img-fail.png";

/**
 * 移除菜单栏
 * @return void
 */
function my_remove_dashboard()
{
    global $menu, $admin;

    foreach ($menu as $key => $value) {
        $val = $value[0];
        if ($val == __('Dashboard') || $val == 'Ultimate Member' || $val == 'Custom Fields' || $val == __('Post')) {
            unset($menu[$key]);
        }
    }
}

//if (!$admin) {
//    add_action('admin_menu', 'my_remove_dashboard');
//    add_action('admin_footer', 'hide_for_users');
//}

/**
 * 字符串是否包含
 * @param $str
 * @param $substr
 * @return bool
 */
function check_str($str, $substr)
{
    $nums=substr_count($str,$substr);
    return $nums>=1;
}

/**
 * wordpress 显示 php错误 1
 * @return void
 */
function show_php_error()
{
    ini_set('display_errors', 1); //错误信息
    ini_set('display_startup_errors', 1); //php启动错误信息
    error_reporting(-1);
}