使用Kratos-pjax主题时轮播图失效的问题

修改主题目录下inc目录的imgcfg.php文件,

例如我的在 /www/wwwroot/www.muluoblog.com/wordpress/wp-content/themes/kratos-pjax-master/inc

因为不太懂php且轮播图不会经常改动,直接将路径写死,只能说能生效,勉强能用。

改动部分了注释的部分,完整文件如下:

<?php
// //Banner
// function kratos_banner(){
//     if(!$output = get_option('kratos_banners')){
//         $output = '';
//         $kratos_banner_on = kratos_option("kratos_banner")&&kratos_option("kratos_banner1")?1:0;
//         if($kratos_banner_on){
//             for($i=1;$i<6; $i++){
//                 $kratos_banner[$i] = kratos_option("kratos_banner[$i]")?kratos_option("kratos_banner[$i]"):"";
//                 $kratos_banner_url[$i] = kratos_option("kratos_banner_url[$i]")?kratos_option("kratos_banner_url[$i]"):"";
//                 if($kratos_banner[$i]){
//                     $banners[] =$kratos_banner[$i];
//                     $banners_url[] =$kratos_banner_url[$i];
//                 }
//             }
            
//             $count = count($banners);
//             $output .= '<div id="slide" class="carousel slide" data-ride="carousel">';
//             $output .= '<ol class="carousel-indicators">';
//             for($i=0;$i<$count;$i++){
//                 $output .= '<li data-target="#slide" data-slide-to="'.$i.'"';
//                 if($i==0) $output .= 'class="active"';
//                 $output .= '></li>';
//             };
//             $output .='</ol>';
//             $output .= '<div class="carousel-inner" role="listbox">';
//             for($i=0;$i<$count;$i++){
//                 $output .= '<div class="item';
//                 if($i==0) $output .= ' active';
//                 $output .= '">';
//                 if(!empty($banners_url[$i])){
//                     $output .= '<a href="'.$banners_url[$i].'"><img src="'.$banners[$i].'"/></a>';
//                 }else{
//                     $output .= '<img src="'.$banners[$i].'"/>';
//                 }
//                 $output .= "</div>";
//             };
//             $output .= '</div>';
//             $output .= '<span class="left carousel-control" href="#slide" role="button" data-slide="prev">';
//             $output .= '<span class="fa fa-chevron-left glyphicon glyphicon-chevron-left"></span></span>';
//             $output .= '<span class="right carousel-control" href="#slide" role="button" data-slide="next">';
//             $output .= '<span class="fa fa-chevron-right glyphicon glyphicon-chevron-right"></span></span></div>';
//             update_option('kratos_banners',$output);
        
//         }
//     }
//     echo $output;
// }
//Banner
function kratos_banner(){
    $output = '';
    // 固定的轮播图数据
    $fixed_banners = array(
        'https://www.muluoblog.com/wp-content/uploads/2022/05/pid-26634217Supernova-7-e1715683231130.jpg',
        'https://www.muluoblog.com/wp-content/uploads/2022/05/pid-46454797アリス・イン・ワールズエンド-e1715683219769.jpg',
        'https://www.muluoblog.com/wp-content/uploads/2022/05/pid-37612267ひかりに、とける。.jpg',
        'https://www.muluoblog.com/wp-content/uploads/2022/05/pid-12813450空の教室-e1715683199167.jpg',
        'https://www.muluoblog.com/wp-content/uploads/2022/05/pid-18252099龍王の娘-e1715683182302.jpg'
    );
    // 假设所有图片都链接到首页
    $fixed_banners_url = array(
        'https://www.muluoblog.com/',
        'https://www.muluoblog.com/',
        'https://www.muluoblog.com/',
        'https://www.muluoblog.com/',
        'https://www.muluoblog.com/'
    );

    $count = count($fixed_banners);
    $output .= '<div id="slide" class="carousel slide" data-ride="carousel">';
    $output .= '<ol class="carousel-indicators">';
    for($i=0;$i<$count;$i++){
        $output .= '<li data-target="#slide" data-slide-to="'.$i.'"';
        if($i==0)$output .= 'class="active"';
        $output .= '></li>';
    };
    $output .='</ol>';
    $output .= '<div class="carousel-inner" role="listbox">';
    for($i=0;$i<$count;$i++){
        $output .= '<div class="item';
        if($i==0)$output .= ' active';
        $output .= '">';
        if(!empty($fixed_banners_url[$i])){
            $output .= '<a href="'.$fixed_banners_url[$i].'"><img src="'.$fixed_banners[$i].'"/></a>';
        }else{
            $output .= '<img src="'.$fixed_banners[$i].'"/>';
        }
        $output .= "</div>";
    };
    $output .= '</div>';
    $output .= '<span class="left carousel-control" href="#slide" role="button" data-slide="prev">';
    $output .= '<span class="fa fa-chevron-left glyphicon glyphicon-chevron-left"></span></span>';
    $output .= '<span class="right carousel-control" href="#slide" role="button" data-slide="next">';
    $output .= '<span class="fa fa-chevron-right glyphicon glyphicon-chevron-right"></span></span></div>';
    update_option('kratos_banners',$output);

    echo $output;
}

function clear_banner(){update_option('kratos_banners','');}
add_action('optionsframework_after_validate','clear_banner');
//Post Thumbnails
if(function_exists('add_image_size')) add_image_size('kratos-thumb',750);
function kratos_blog_thumbnail(){
    global $post;
    $img_id = get_post_thumbnail_id();
    $img_url = wp_get_attachment_image_src($img_id,'kratos-entry-thumb');
    $img_url = $img_url[0];
    if(has_post_thumbnail()) echo '<a href="'.get_permalink().'"><img src="'.$img_url.'" alt="'.get_the_title().'"></a>';
}
add_filter('add_image_size',function(){return 1;});
add_theme_support("post-thumbnails");
function kratos_blog_thumbnail_new(){
    global $post;
    $img_id = get_post_thumbnail_id();
    $img_url = wp_get_attachment_image_src($img_id,'kratos-entry-thumb');
    $img_url = is_array($img_url) ? $img_url[0] : $img_url;
    $title = get_the_title();
    if(has_post_thumbnail() && $img_url){
        echo '<a href="'.get_permalink().'"><img src="'.$img_url.'" alt="'.$title.'"></a>';
    }else{
        $content = $post->post_content;
        $img_preg = "/<img(.*?)src=\"(.+?)\".*?>/";
        preg_match($img_preg,$content,$img_src);
        $img_count=count($img_src)-1;
        if(isset($img_src[$img_count]))
        $img_val = $img_src[$img_count];
        if(!empty($img_val)&&!post_password_required()){
            echo '<a href="'.get_permalink().'"><img src="'.$img_val.'" alt="'.$title.'"></a>';
        }else if(!kratos_option('default_image')){
            $random = mt_rand(1,20);
            echo '<a href="'.get_permalink().'"><img src="'.get_bloginfo('template_url').'/static/images/thumb/thumb_'.$random.'.jpg" alt="'.$title.'"></a>';
        }else echo '<a href="'.get_permalink().'"><img src="'.kratos_option('default_image').'" alt="'.$title.'"></a>';
    }
}
//Share the thumbnail fetching
function share_post_image(){
    global $post;
    if(has_post_thumbnail($post->ID)){
        $post_thumbnail_id = get_post_thumbnail_id( $post->ID );
        $img = wp_get_attachment_image_src($post_thumbnail_id,'full');
        $img = $img[0];
    }else{
        $content = $post->post_content;
        preg_match_all('/<img.*?(?: |\\t|\\r|\\n)?src=[\'"]?(.+?)[\'"]?(?:(?: |\\t|\\r|\\n)+.*?)?>/sim',$content,$strResult,PREG_PATTERN_ORDER);
        if(!empty($strResult[1])){
            $img = $strResult[1][0];
        }else{
            $img = '';
        }
    }
    return $img;
}
//Add media from url
add_action('admin_menu','add_submenu');
add_action('post-plupload-upload-ui','post_upload_ui');
add_action('post-html-upload-ui','post_upload_ui');
add_action('wp_ajax_add_external_media_without_import','wp_ajax_add_external_media_without_import');
add_action('admin_post_add_external_media_without_import','admin_post_add_external_media_without_import');
function add_submenu(){
    add_submenu_page(
        'upload.php',
        __('从URL添加','moedog'),
        __('从URL添加','moedog'),
        'manage_options',
        'add-from-url',
        'print_submenu_page'
    );
}
function post_upload_ui(){
    wp_enqueue_style('emwi',get_template_directory_uri().'/inc/theme-options/css/media.css');
    wp_enqueue_script('emwi',get_template_directory_uri().'/inc/theme-options/js/media.js');
    $media_library_mode = get_user_option('media_library_mode',get_current_user_id()); ?>
    <div id="emwi-in-upload-ui">
      <div class="row1"><?php _e('或','moedog'); ?></div>
      <div class="row2">
        <?php if('grid' === $media_library_mode): ?>
          <button id="emwi-show" class="button button-large"><?php _e('从URL导入','moedog'); ?></button>
          <?php print_media_new_panel( true ); ?>
        <?php else : ?>
          <a class="button button-large" href="<?php echo esc_url(admin_url('/upload.php?page=add-from-url')); ?>"><?php _e('从URL导入','moedog'); ?></a>
        <?php endif; ?>
      </div>
    </div><?php
}
function print_submenu_page(){ ?>
    <form action="<?php echo esc_url(admin_url('admin-post.php')); ?>" method="post">
      <?php print_media_new_panel(false); ?>
    </form><?php
}
function print_media_new_panel($is_in_upload_ui){
    wp_enqueue_style('emwi',get_template_directory_uri().'/inc/theme-options/css/media.css');
    wp_enqueue_script('emwi',get_template_directory_uri().'/inc/theme-options/js/media.js'); ?>
    <div id="emwi-media-new-panel" <?php if($is_in_upload_ui): ?>style="display:none"<?php endif; ?>>
      <div class="url-row">
        <label><?php _e('从URL添加媒体项目','moedog'); ?></label>
        <span id="emwi-url-input-wrapper">
          <input id="emwi-url" name="url" type="url" required placeholder="Image URL" value="<?php echo esc_url(isset($_GET['url'])?$_GET['url']:""); ?>">
        </span>
      </div>
      <div id="emwi-hidden" <?php if($is_in_upload_ui||empty($_GET['error'])): ?>style="display: none"<?php endif; ?>>
        <div><span id="emwi-error"><?php echo esc_html(isset($_GET['error'])?$_GET['error']:""); ?></span><?php _e('请手动指定图像大小与格式','moedog'); ?></div>
        <div id="emwi-properties">
          <label><?php _e('宽','moedog'); ?></label>
          <input id="emwi-width" name="width" type="number" value="<?php echo esc_html(isset($_GET['width'])?$_GET['width']:""); ?>">
          <label><?php _e('高','moedog'); ?></label>
          <input id="emwi-height" name="height" type="number" value="<?php echo esc_html(isset($_GET['height'])?$_GET['height']:""); ?>">
          <label><?php _e('MIME类型','moedog'); ?></label>
          <input id="emwi-mime-type" name="mime-type" type="text" value="<?php echo esc_html(isset($_GET['mime-type'])?$_GET['mime-type']:""); ?>">
        </div>
      </div>
      <div id="emwi-buttons-row">
        <input type="hidden" name="action" value="add_external_media_without_import">
        <span class="spinner"></span>
        <input type="button" id="emwi-clear" class="button" value="<?php _e('清除','moedog'); ?>">
        <input type="submit" id="emwi-add" class="button button-primary" value="<?php _e('添加','moedog'); ?>">
        <?php if($is_in_upload_ui): ?>
          <input type="button" id="emwi-cancel" class="button" value="<?php _e('取消','moedog'); ?>">
        <?php endif; ?>
      </div>
    </div><?php
}
function wp_ajax_add_external_media_without_import(){
    $info = add_external_media_without_import();
    if(isset($info['id'])){
        if($attachment = wp_prepare_attachment_for_js($info['id'])){
            wp_send_json_success($attachment);
        }else{
            $info['error'] = __('相关JS加载失败','moedog');
            wp_send_json_error($info);
        }
    }else{
        wp_send_json_error($info);
    }
}
function admin_post_add_external_media_without_import(){
    $info = add_external_media_without_import();
    $redirect_url = 'upload.php';
    if(!isset($info['id'])){
        $redirect_url = $redirect_url.'?page=add-from-url&url='.urlencode($info['url']);
        $redirect_url = $redirect_url.'&error='.urlencode($info['error']);
        $redirect_url = $redirect_url.'&width='.urlencode($info['width']);
        $redirect_url = $redirect_url.'&height='.urlencode($info['height']);
        $redirect_url = $redirect_url.'&mime-type='.urlencode( $info['mime-type']);
    }
    wp_redirect(admin_url($redirect_url));
    exit;
}
function sanitize_and_validate_input(){
    $input = array(
        'url' => esc_url_raw($_POST['url']),
        'width' => sanitize_text_field($_POST['width']),
        'height' => sanitize_text_field($_POST['height']),
        'mime-type' => sanitize_mime_type($_POST['mime-type'])
    );
    $width_str = $input['width'];
    $width_int = intval($width_str);
    if(!empty($width_str)&&$width_int<=0){
        $input['error'] = __('图像大小不合法','moedog');
        return $input;
    }
    $height_str = $input['height'];
    $height_int = intval($height_str);
    if(!empty($height_str)&&$height_int<=0){
        $input['error'] = __('图像大小不合法','moedog');
        return $input;
    }
    $input['width'] = $width_int;
    $input['height'] = $height_int;
    return $input;
}
function add_external_media_without_import(){
    $input = sanitize_and_validate_input();
    if(isset($input['error'])) return $input;
    $url = $input['url'];
    $width = $input['width'];
    $height = $input['height'];
    $mime_type = $input['mime-type'];
    if(empty($width)||empty($height)||empty($mime_type)){
        $image_size = @getimagesize($url);
        if(empty($image_size)){
            if(empty($mime_type)){
                $response = wp_remote_head($url);
                if(is_array($response)&&isset($response['headers']['content-type'])){
                    $input['mime-type'] = $response['headers']['content-type'];
                }
            }
            $input['error'] = __('无法获取图像大小','moedog');
            return $input;
        }
        if(empty($width)) $width = $image_size[0];
        if(empty($height)) $height = $image_size[1];
        if(empty($mime_type)) $mime_type = $image_size['mime'];
    }
    $filename = wp_basename($url);
    $attachment = array(
        'guid' => $url,
        'post_mime_type' => $mime_type,
        'post_title' => preg_replace('/\.[^.]+$/','',$filename),
    );
    $attachment_metadata = array('width'=>$width,'height'=>$height,'file'=>$filename);
    $attachment_metadata['sizes'] = array('full'=>$attachment_metadata);
    $attachment_id = wp_insert_attachment($attachment);
    wp_update_attachment_metadata($attachment_id,$attachment_metadata);
    $input['id'] = $attachment_id;
    return $input;
}
//a img
function content_a_img($content){
    $pattern = "/<a href=('|\")([^>]*).(bmp|gif|jpeg|jpg|png)('|\")(.*?)><img/i";
    $replacement = '<a href=$1$2.$3$4 rel="nofollow" target="_blank"><img';
    $content = preg_replace($pattern,$replacement,$content);
    return $content;
}
add_filter('the_content','content_a_img');
点赞

当前页面评论已关闭。

隐藏
变装