示例#1
0
 public static function replace(&$original)
 {
     if (self::$post_type == null) {
         self::set_post_type();
     }
     if (is_array($original)) {
         foreach ($original as &$nested) {
             self::replace($nested);
         }
         return;
     }
     // skip if there are no placeholders
     if (strpos($original, '%') === false) {
         return;
     }
     // placeholders
     $admin_url = admin_url();
     $placeholders = array('%POST-LABEL-PLURAL%' => self::$post_type->labels->name, '%POST-PERMALINK%' => self::get_permalink(), '%POST-ARCHIVE-PERMALINK%' => self::get_archive_permalink(), '%POST-LABEL-SINGULAR%' => self::$post_type->labels->singular_name, '%POST-TYPE-NAME%' => self::$post_type->name, '%THEME-NAME%' => wp_get_theme(), '%POST-TEMPLATE-FILE%' => '<nobr>' . self::get_post_template_file() . '</nobr>', '%POST-ARCHIVE-FILE%' => '<nobr>' . self::get_post_archive_file() . '</nobr>', '%POST-FORMS-LIST%' => self::get_post_type_forms_list(), '%POST-CREATE-FORM%' => self::add_referer($admin_url . 'admin.php?page=types-helper&action=new-form&type=' . self::$post_type->name . '&toolset_help_video=cred_form'), '%POST-TYPE-EDIT-HAS-ARCHIVE%' => self::add_referer($admin_url . 'admin.php?page=wpcf-edit-type&wpcf-post-type=' . self::$post_type->name . '#types_options'));
     // Views specifics
     if (defined('WPV_VERSION')) {
         $placeholders = array_merge($placeholders, array('%POST-CONTENT-TEMPLATE-NAME%' => Types_Helper_Condition_Views_Template_Exists::get_template_name(), '%POST-VIEWS-ARCHIVE%' => Types_Helper_Condition_Views_Archive_Exists::get_template_name(), '%POST-EDIT-VIEWS-ARCHIVE%' => self::get_post_edit_views_archive(), '%POST-EDIT-CONTENT-TEMPLATE%' => self::get_post_edit_views_template(), '%POST-CREATE-CONTENT-TEMPLATE%' => self::add_referer($admin_url . 'admin.php?page=types-helper&action=new-content-template&type=' . self::$post_type->name . '&toolset_help_video=views_template'), '%POST-CREATE-VIEWS-ARCHIVE%' => self::add_referer($admin_url . 'admin.php?page=types-helper&action=new-wordpress-archive&type=' . self::$post_type->name . '&toolset_help_video=views_archives'), '%POST-VIEWS-LIST%' => self::get_post_type_views_list(), '%POST-CREATE-VIEW%' => self::add_referer($admin_url . 'admin.php?page=types-helper&action=new-view&type=' . self::$post_type->name . '&toolset_help_video=views_view')));
     }
     // Layouts specifics
     if (defined('WPDDL_DEVELOPMENT') || defined('WPDDL_PRODUCTION')) {
         $placeholders = array_merge($placeholders, array('%POST-CREATE-LAYOUT-TEMPLATE%' => self::add_referer($admin_url . 'admin.php?page=types-helper&action=new-layout-template&type=' . self::$post_type->name . '&toolset_help_video=layouts_template'), '%POST-CREATE-LAYOUT-ARCHIVE%' => self::add_referer(self::get_post_create_layout_archive() . '&toolset_help_video=layouts_archive'), '%POST-EDIT-LAYOUT-TEMPLATE%' => self::get_post_edit_layout_template(), '%POST-EDIT-LAYOUT-ARCHIVE%' => self::get_post_edit_layout_archive(), '%POST-LAYOUT-TEMPLATE%' => Types_Helper_Condition_Layouts_Template_Exists::get_layout_name(), '%POST-LAYOUT-ARCHIVE%' => Types_Helper_Condition_Layouts_Archive_Exists::get_layout_name()));
     }
     $original = strtr($original, $placeholders);
 }