-2

这是在旧 PHP 版本上运行良好但现在在 PHP5.4.X 上运行的 wordpress 插件,产生以下错误。

插件无法激活,因为它触发了致命错误。

解析错误:语法错误,第 175 行 C:\wamp\www\testweb\wp-content\plugins\bxslider\slider.php 中的意外 $end

这里是 SLIDER.PHP 文件。

<?php
error_reporting(1);
if(!defined('ABSPATH')) {
    die("Don't call this file directly.");
}
if (!defined('WP_CONTENT_URL')) {
    define('WP_CONTENT_URL', get_option('siteurl').'/wp-content');
}
define('CONTENT_SLIDE_URL',get_option('siteurl').'/wp-content/plugins/bxslider/');



/* Add Administrator Menu's*/
function bx_content_slide_menu()
{
    $level = 'level_10';
   add_menu_page('BX Content Slide', 'BX Content Slide', $level, __FILE__,'bx_content_slide_options',CONTENT_SLIDE_URL.'images/icon6.png');
   add_submenu_page(__FILE__, 'Help &amp; Support', 'Help &amp; Support', $level,'bx_content_slide_help','bx_content_slide_help');
}
add_action('admin_menu', 'bx_content_slide_menu');

function bx_content_slide_options()
{
    bx_settings_update();
    global $wpdb;
    $query="Select * from wp_slider";
    $slider_res=$wpdb->get_results($query);

    if($_GET['mode']=='edit'){
        $query="select * from wp_slider where id='".$_GET['id']."'";
        $cur_slider_res=$wpdb->get_results($query);


    }

    include_once dirname(__FILE__).'/options_page.php';
}


function bx_settings_update(){
    global $wpdb;
    if(isset($_POST['total_options']))
    {
        echo '<div class="updated fade" id="message"><p>Content Slide Settings <strong>Updated</strong></p></div>';


        for($i=1;$i<=($_POST['total_options']-1);$i++){
            if(!empty($_POST['wpcs_options']['slide_imagetext'.$i])){   
        $query="INSERT INTO `wp_slider` (`image`, `link`, `content`,`name`) VALUES ('".$_POST['wpcs_options']['slide_image'.$i]."', '".$_POST['wpcs_options']['slide_imagelink'.$i]."', '".$_POST['wpcs_options']['slide_imagetext'.$i]."', '".$_POST['name']."');";
        $wpdb->query($query);
            }
        }
        //update_option('bx_options', $_POST['bx_options']);
    }
    if($_GET['mode']=='delete'){
        $wpdb->query("Delete from wp_slider where id='".$_GET['id']."'");
        header("location:admin.php?page=bxslider/slider.php" );
    }
    if($_GET['mode']=='edit' && isset($_POST['id'])){

    $wpdb->query("update wp_slider set image='".$_POST['wpcs_options']['slide_image1']."', link='".$_POST['wpcs_options']['slide_imagelink1']."', content='".$_POST['wpcs_options']['slide_imagetext1'] ."',name='".$_POST['name']  ."' where id='".$_POST['id']."'");
        header("location:admin.php?page=bxslider/slider.php" ); 

    }


}


function createTable()
{
      global $wpdb;

    $qndTable = $wpdb->prefix . "slider";

    if($wpdb->get_var("show tables like '$qndTable'") != $qndTable)
    {
        $create =   "CREATE TABLE " . $qndTable . " (
                              `id` int(11) NOT NULL AUTO_INCREMENT,
                              `image` varchar(255) NOT NULL,
                              `link` varchar(255) NOT NULL,
                              `content` text NOT NULL,
                              `name` varchar(255) NOT NULL,
                              PRIMARY KEY (`id`)
                            ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;";

        require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
        dbDelta($create);

    }
}
function deleteTable(){
     global $wpdb;
     $wpdb->query("DROP table ".$wpdb->prefix . "slider");

}

register_activation_hook(__FILE__,  'createTable');

register_deactivation_hook(__FILE__,  'deleteTable');


function bxcontent_slider( $atts ) {
    $sname=$atts[slider];
    $type=$atts[type];
    if(!$type) $type='image';
    global $wpdb;
    $query="Select * from wp_slider where name='".$sname."' ";
    $slider_res=$wpdb->get_results($query);


    addbx_head($sname);         

    if($type=='image'){
    $content .='<ul class="'.$sname.'">';   
        foreach($slider_res as $slider){
            $content .= '<li><img src="'.$slider->image.'" /></li>';
        }
    $content .='</ul>';
    }elseif($type=='content'){
    $content .='<div class="'.$sname.'">';  
        foreach($slider_res as $slider){
        $content .= '<div>'.$slider->content.'</div>';
        }
        $content .='</div>';
    }

    return $content;
    // echo  "slider = {$atts[slider]}";
}
add_shortcode('bxcontentslider', 'bxcontent_slider');
function addbx_head($sname){
?>
<script language='javascript'>
                var $jquery = jQuery.noConflict(); 
                $jquery(document).ready(function(){

                  $jquery('.<?php echo $sname ?>').bxSlider({
                      auto:true,
                      controls:false,
                       pagerCustom: '#bx-pager-<?php echo $sname?>',
                       pagerActiveClass:"active"
                      });


                });

                </script>
<?
}
function add_bxjs() {
    /*wp_enqueue_script(
        'custom-script',
        plugins_url('/bxslider/jquery.bxslider.js', __FILE__ ) ,
        array( 'jquery' )
    );*/
    wp_enqueue_style('bxstyle', plugins_url('/bxslider/jquery.bxslider.css', __FILE__ ));
    wp_enqueue_script('jquery',plugins_url('/bxslider/jquery.min.js', __FILE__ ), array('jquery'));
    wp_enqueue_script('easing',plugins_url('/bxslider/jquery.easing.1.3.js', __FILE__ ), array('jquery'));
    wp_enqueue_script('bxscript',plugins_url('/bxslider/jquery.bxslider.js', __FILE__ ), array('jquery'));
}

add_action( 'wp_enqueue_scripts', 'add_bxjs' );

声明的第 175 行是有 add_action('wp_enqueue_scripts', 'add_bxjs');

4

1 回答 1

3

您对 php 默认标签和短标签有疑问。

<? ... ?>   PHP short tag
<?php ... ?> PHP default tag

请参阅此处了解更多详细信息

请用以下代码替换最后几行

<?php
}
function add_bxjs() {
    /*wp_enqueue_script(
        'custom-script',
        plugins_url('/bxslider/jquery.bxslider.js', __FILE__ ) ,
        array( 'jquery' )
    );*/
    wp_enqueue_style('bxstyle', plugins_url('/bxslider/jquery.bxslider.css', __FILE__ ));
    wp_enqueue_script('jquery',plugins_url('/bxslider/jquery.min.js', __FILE__ ), array('jquery'));
    wp_enqueue_script('easing',plugins_url('/bxslider/jquery.easing.1.3.js', __FILE__ ), array('jquery'));
    wp_enqueue_script('bxscript',plugins_url('/bxslider/jquery.bxslider.js', __FILE__ ), array('jquery'));
}

add_action( 'wp_enqueue_scripts', 'add_bxjs' );
?>
于 2013-11-13T07:18:15.950 回答