2014-03-28 18 views
0

上的插件没有有效的头我创建了一个插件,由于某种原因,当我尝试上传,并通过拉链激活它。我收到消息“无效的头文件”。如果我只是通过FTP下载文件夹,它似乎没问题。有什么建议么?在WordPress

这里是插件的主要文件:

<?php 
/* 
* Plugin Name: Album Gallery 
* Plugin URI: http://vinteractive.co.uk 
* Description: An Album based Slider Gallery. 
* Version: 1.0 
* Author: Vincent Stephens 
* Author URI: http://vinteractive.co.uk 
* License: Do Not Redistribute 
*/ 

define('ALBUM_GALLERY_URL', plugins_url() . '/album-gallery/'); 
define('ALBUM_GALLERY_ABSPATH', ABSPATH . 'wp-content/plugins/album-gallery/'); 

define('ACF_LITE' , true); 
include(ALBUM_GALLERY_ABSPATH . 'custom-fields/acf.php'); 
include(ALBUM_GALLERY_ABSPATH . 'custom-fields/album-fields.php'); 
include(ALBUM_GALLERY_ABSPATH . 'custom-post-types/albums-gallery-post-type.php'); 
include(ALBUM_GALLERY_ABSPATH . 'shortcodes/shortcodes.php'); 


// Enque Scripts and styles 
function album_gallery_scripts() { 
wp_register_script('jquery-for-nivo', plugins_url('/js/jquery-1.9.0.min.js', __FILE__), array('jquery'),'1.1', true); 
wp_enqueue_script('jquery-for-nivo'); 
wp_register_script('nivo-slider', plugins_url('/nivo/scripts/jquery.nivo.slider.js', __FILE__), array('jquery'),'1.1', true); 
wp_enqueue_script('nivo-slider'); 
wp_register_script('album-gallery-script', plugins_url('/js/album-gallery.jquery.js', __FILE__), array('jquery'),'1.1', true); 
wp_enqueue_script('album-gallery-script'); 

wp_register_style('album-gallery', plugins_url('/css/album-gallery.css', __FILE__)); 
wp_enqueue_style('album-gallery'); 
wp_register_style('nivo-slider', plugins_url('/nivo/nivo-slider.css', __FILE__)); 
wp_enqueue_style('nivo-slider'); 
wp_register_style('style', plugins_url('/nivo/style.css', __FILE__)); 
wp_enqueue_style('style'); 

// Nivo Theme 
wp_register_style('theme-default', plugins_url('/nivo/themes/default/default.css', __FILE__)); 
wp_enqueue_style('theme-default'); 
} 

add_action('wp_enqueue_scripts', 'album_gallery_scripts'); 


?> 

短代码文件:

<?php 
    function album_gallery_shortcode() { 
?> 
     <span class="info_btn"></span> 

     <?php 
     // Loop for Album Gallery Post Type 
      $args = array(
       'post_type'   => 'albums_gallery', 
      ); 

      $loop = new WP_Query($args); 
      while ($loop->have_posts()) : $loop->the_post(); 

      $album_name = get_the_ID(); 
      $album_description = get_field('album_description'); 

     ?> 

     <div class="album album_<?php echo $album_name ?>"> 

     <?php for ($i = 0; $i <= 0; $i++) { ?> 
      <div class="description album_<?php echo $album_name ?>"> 
       <?php echo $album_description; ?> 
      </div> 
     <?php } ?> 

      <div class="slider-wrapper theme-default"> 
       <div class="slider" class="nivoSlider"> 

        <?php 

        $images = Array(); 
        for($i = 1; $i <= 6; $i++) { 
         $image = get_field("image_{$i}"); 
         if(!$image || !$image['url']) { 
          break; 
         } 
         $caption = get_field("image_{$i}_caption"); 
         ?> 

         <img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt']; ?>" title="<?php echo $caption; ?>" /> 

        <?php } ?> 

       </div> 
      </div> 
     </div> 
     <!-- End Album --> 

     <?php endwhile; wp_reset_query(); ?> 
     <!-- // Loop for Album Gallery Post Type --> 

     <div class="thumbnails"> 
     <?php 

      $args = array(
       'taxonomy_albums' => '', 
       'post_type'   => 'albums_gallery', 
      ); 

      $loop = new WP_Query($args); 
      while ($loop->have_posts()) : $loop->the_post(); 

      // album name becomes post id 
      $album_name = get_the_id(); 
      $album_thumb = get_field('thumbnail'); 
      $album_caption = get_field('album_caption'); 

      if(!empty($album_thumb)): ?> 

       <div class="thumbs" style="width: 130px; float: left; margin: 5px;"> 
        <img class="thumb thumb_album_<?php echo $album_name; ?>" src="<?php echo $album_thumb['url']; ?>" alt="<?php echo $album_thumb['alt']; ?>" width="130" /> 
        <p class="title"><?php the_title(); ?></p> 
        <p class="caption"><?php echo $album_caption ?></p> 
       </div> 

     <?php endif; ?> 
     <?php endwhile; wp_reset_query(); ?> 

    </div> 
    <!-- end thumbnails --> 


<?php 

    } 
    add_shortcode('album-gallery', 'album_gallery_shortcode'); 
?> 
+0

无视以前的评论...你是如何创建ZIP?它只能是'/ plugin-folder/all-files。*'。 – brasofilo

+0

文件结构是: 专辑画廊 -CSS -custom场 -custom-后类型 -images -js -nivo -shortcodes 我创建与上下文菜单中的取景器旗牌'compress' – vincentieo

+1

在专用应用程序中打开zip并确认结构。或者如果你想发布一个zip文件,我可以查看它。 – brasofilo

回答

1

我怀疑它有事情做与高级定制文章插件,您包括您的插件。我有一个类似的问题,我通过移动acf文件夹来解决它。含义,而不是myplugin/advanced-custom-fields我把它放在myplugin/inc/advanced-custom-fields

和它的工作。

当然,不要忘了在你的插件的主要文件的路径更改为

include(ALBUM_GALLERY_ABSPATH . 'inc/custom-fields/acf.php'); 

BTW,我更愿意把这样的插件:

if(!class_exists('Acf')) 
{ 
    define('ACF_LITE' , true); // Hide it from admin 
    include_once('inc/advanced-custom-fields/acf.php'); 
} 

因为你不”如果用户已经安装了它,你希望你的用户再次加载它。

+0

是的,多数民众赞成在多么... ... :) – vincentieo

0

我在一个插件包括ACF时,也有类似的问题,我花了永远的数字出来,尤其是因为我每次我创建一个新的插件时下降一个插件头模板以同样的方式。

问题从包括acf.php插件头茎。从该文件中删除wordpress注释标题,并且它似乎安装得很好,无论您将其包含在哪个目录级别。