args = $args; $this->Method = array( 'GETs'=>$_GET, 'POSTs'=>$_POST, ); $this->TempPath = get_template_directory(); $this->TempURL = get_template_directory(); $this->StylesURL = get_template_directory_uri().'/components/styles/'; $this->StylesPath = get_template_directory().'/components/styles/'; $this->folderpath = $this->TempPath.'/components/packs/*/'; $this->packsPath = $this->TempPath.'/components/packs/'; $this->Packages = array_filter(glob($this->folderpath), 'is_dir'); if( !class_exists('ThemeStatic') ) { require($this->TempPath.'/syntax.php'); } } public function AddTaxonomy($id='', $ptypes=array(), $name='', $rewrite=false, $hierarchical=true) { $labels = array( 'name' => __($name, 'PtypeLocalize' , 'post type general name'), 'all_items' => __('كل العناصر', 'PtypeLocalize' , 'all items'), 'add_new_item' => __('اضافة عنصر جديد', 'PtypeLocalize' , 'adding a new item'), 'new_item_name' => __('اسم عنصر جديد', 'PtypeLocalize' , 'adding a new item'), ); register_taxonomy( $id, $ptypes, array( 'hierarchical' => $hierarchical, 'rewrite' => $rewrite, 'labels' => $labels, ) ); } public function AddPType($name, $singlename, $plus='', $id='', $public=true, $rewrite=false, $supports=array(), $position='') { $labels = array( 'name' => __( $name, 'post type general name', 'MycimaLocalize' ), 'singular_name' => __( $name, 'post type singular name', 'MycimaLocalize' ), 'menu_name' => __( $name, 'admin menu', 'MycimaLocalize' ), 'name_admin_bar' => __( $name, 'add new on admin bar', 'MycimaLocalize' ), 'add_new' => __( 'اضف جديد', 'search', 'MycimaLocalize' ), 'add_new_item' => __( 'إضافة '.$singlename.' جديد'.$plus, 'MycimaLocalize' ), 'new_item' => __( $singlename.' جديد'.$plus, 'MycimaLocalize' ), 'edit_item' => __( 'تعديل '.$singlename, 'MycimaLocalize' ), 'all_items' => __( 'كل '.$name, 'MycimaLocalize' ), 'search_items' => __( 'بحث في '.$name, 'MycimaLocalize' ), 'parent_item_colon' => __( $singlename.' الرئيس', 'MycimaLocalize' ), 'not_found' => __( 'لا يوجد عناصر.', 'MycimaLocalize' ), 'not_found_in_trash' => __( 'لا يوجد عناصر فى سلة المهملات.', 'MycimaLocalize' ) ); $args = array( 'labels' => $labels, 'public' => $public, 'rewrite' => $rewrite, 'supports' => $supports, ); if( is_numeric($position) ) { $args['menu_position'] = $position; } register_post_type( $id, $args ); } public function Require($path, $vars=array()) { extract($vars); if( file_exists($path) ) { require($path); }else { echo '

هذا المسار غير موجود :'.$path.'

'; } } public function Initialize() { do_action('Initialize'); } } $ThemeTree = new ThemeTree(); add_action('init', array($ThemeTree, 'Initialize')); $ThemeStatic = new ThemeStatic(); $packs = $ThemeTree->Packages; foreach ($packs as $pack) { if( substr(basename($pack), 0, 1) != '@' and substr(basename($pack), 0, 1) != '#' ) { $path = $pack.'setup.php'; $ThemeTree->Require($path, array('CurrentDir'=>$pack)); } } /* Hide leaked JS under Contact page only */ add_action('template_redirect', function () { if ( ! ( is_page('contact-us') || is_page('contact') || is_page('اتصل-بنا') || is_page('اتصل بنا') ) ) { return; // صفحات أخرى: لا شيء } ob_start(function ($html) { // بداية التسريب كما ظهرت عندك $start = strpos($html, "'),AjaxRequest({url:e"); if ($start === false) return $html; // احتفظ بذيل الصفحة من إن وُجد $tail = ''; if (preg_match('/<\/body>[\s\S]*$/i', $html, $m)) { $tail = $m[0]; } return substr($html, 0, $start) . $tail; }); }); /* Safe fallback: define CommonKeywords() if theme didn't load it */ if ( ! function_exists('CommonKeywords') ) { function CommonKeywords($limit = 20) { $arr = []; $opt = get_option('common_keywords'); // عدّل اسم الخيار لو مختلف عندك if (is_string($opt) && strlen($opt)) { $arr = array_filter(array_map('trim', preg_split('/[,،|\n]+/', $opt))); } elseif (is_array($opt)) { $arr = $opt; } if (is_numeric($limit)) { $arr = array_slice($arr, 0, (int)$limit); } return $arr; // آمنة للاستخدام في foreach } }