2017-02-12 48 views
1

你好,大家好我得到了新的WP主题,我不能安装即时得到这个错误在网站上可湿性粉剂主题错误PHP

Parse error: syntax error, unexpected '}', expecting end of file in /storage/h3/665/790665/public_html/wp-content/themes/gameaddict/post_templates.php on line 1

<?php 
class Single_Post_Template_Plugin { 
    function __construct() { 
     add_action('admin_menu', array($this, 'add_metabox')); 
     add_action('save_post', array($this, 'metabox_save'), 1, 2); 
     add_filter('single_template', array($this, 'get_post_template')); 
    } 
    function get_post_template($template) { 
     global $post; 
     $custom_field = get_post_meta($post->ID, '_wp_post_template', true); 
     if(!$custom_field) 
      return $template; 
     /** Prevent directory traversal */ 
     $custom_field = str_replace('..', '', $custom_field); 
     if(file_exists(get_stylesheet_directory() . "/{$custom_field}")) 
      $template = get_stylesheet_directory() . "/{$custom_field}"; 
     elseif(file_exists(get_template_directory() . "/{$custom_field}")) 
      $template = get_template_directory() . "/{$custom_field}"; 
     return $template; 
    } 
    function get_post_templates() { 
     $templates = wp_get_theme()->get_files('php', 1); 
     $post_templates = array(); 
     $base = array(trailingslashit(get_template_directory()), trailingslashit(get_stylesheet_directory())); 
     foreach ((array) $templates as $file => $full_path) { 
      if($full_path == get_theme_root().'/gameaddict/post_templates.php'){continue;}else{ 
      if (!preg_match('|Single Post Template:(.*)$|mi', file_get_contents($full_path), $header)) 
       continue; 
      $post_templates[ $file ] = _cleanup_header_comment($header[1]); 
     }} 
     return $post_templates; 
    } 
    function post_templates_dropdown() { 
     global $post; 
     $post_templates = $this->get_post_templates(); 
     /** Loop through templates, make them options */ 
     foreach ((array) $post_templates as $template_file => $template_name) { 
      $selected = ($template_file == get_post_meta($post->ID, '_wp_post_template', true)) ? ' selected="selected"' : ''; 
      $opt = '<option value="' . esc_attr($template_file) . '"' . $selected . '>' . esc_html($template_name) . '</option>'; 
      echo $opt; 
     } 
    } 
    function add_metabox() { 

     $screens = array('post', 'portfolio'); 

    foreach ($screens as $screen) { 

     add_meta_box(
      'pt_post_templates', 
      __('Sidebar position', 'addict'), 
      array($this, 'metabox'), 
      $screen,'normal', 'high' 

     ); 
    } 


    } 
    function metabox($post) { 
     ?> 
     <input type="hidden" name="pt_noncename" id="pt_noncename" value="<?php echo wp_create_nonce(plugin_basename(__FILE__)); ?>" /> 
     <label class="hidden" for="post_template"><?php _e('Post Template', 'addict'); ?></label><br /> 
     <select name="_wp_post_template" id="post_template" class="dropdown"> 
      <?php $this->post_templates_dropdown(); ?> 
     </select> 
     <?php 
    } 
    function metabox_save($post_id, $post) { 
     /* 
     * Verify this came from the our screen and with proper authorization, 
     * because save_post can be triggered at other times 
     */ 
     if(isset($_POST['pt_noncename'])){ 
     if (!wp_verify_nonce($_POST['pt_noncename'], plugin_basename(__FILE__))) 
      return $post->ID; 
     } 
     /** Is the user allowed to edit the post or page? */ 
     if(isset($_POST['post_type'])){ 
     if ('page' == $_POST['post_type']) 
      if (!current_user_can('edit_page', $post->ID)) 
       return $post->ID; 
     else 
      if (!current_user_can('edit_post', $post->ID)) 
       return $post->ID; 
     } 
     /** OK, we're authenticated: we need to find and save the data */ 
     /** Put the data into an array to make it easier to loop though and save */ 
     if(isset($_POST['_wp_post_template'])){ 
     $mydata['_wp_post_template'] = $_POST['_wp_post_template']; 
     } 
     /** Add values of $mydata as custom fields */ 
     if(isset($mydata)){ 
     foreach ($mydata as $key => $value) { 
      /** Don't store custom data twice */ 
      if('revision' == $post->post_type) 
       return; 
      /** If $value is an array, make it a CSV (unlikely) */ 
      $value = implode(',', (array) $value); 
      /** Update the data if it exists, or add it if it doesn't */ 
      if(get_post_meta($post->ID, $key, false)) 
       update_post_meta($post->ID, $key, $value); 
      else 
       add_post_meta($post->ID, $key, $value); 
      /** Delete if blank */ 
      if(!$value) 
       delete_post_meta($post->ID, $key); 
     }} 
    } 
} 
add_action('init', 'post_templates_plugin_init'); 
/** 
* Instantiate the class after theme has been set up. 
*/ 
function post_templates_plugin_init() { 
    new Single_Post_Template_Plugin; 
} 
+2

你写的主题?如果不询问创作时间 – nogad

+0

您确定这是正确的文件?没有''} 1号线 – Qirel

+0

https://teamdemo.000webhostapp.com/wp-admin/themes.php?activated=true – user3590706

回答

0

假设主题是这样的一个https://themeforest.net/item/game-addict-clan-war-gaming-theme/6771881,并将其从themeforest购买的,它应该工作开箱即用。再次尝试下载它,请务必检查,如果没有你下载,以确保您上传正确的文件的zip内部的压缩文件,有时你下载的zip有很多像文档和演示文件,但实际的主题文件是另一个拉链里面。
如果上述内容没有帮助,请写信给他们的客户支持。

+0

感谢我写的像3个星期前,他们说休耕指示... – user3590706

+0

你能告诉我你都上传到该网站的zip包含里面?截图会做 –

+0

game-addict.zip这个文件夹上传即时消息时 – user3590706

0

基本上,它抱怨wp-content/themes/gameaddict/post_templates.php在第1行有一个},而PHP期待文件结束。你包含的代码看起来很好。这个问题很可能是关于开发人员关闭一个括号而不打开它的代码。看起来你正在使用预先制作的主题,在这种情况下,联系开发人员将是最佳选择。

相关问题