Ответы в темах

Просмотр 15 ответов — с 31 по 45 (всего 74)
  • Автор Alexander Babaev

    (@babaevan)

    Но это не так.

    К сожалению, так.

    И даже её можно починить

    Не спорю.

    Вы, случаем, не знаете, как добавить возможность загрузки через сайт, а не напрямую?

    Автор Alexander Babaev

    (@babaevan)

    Но это Вам не поможет.

    Это мне действительно не поможет, так как это совсем не то, что мне нужно!

    Мне нужно при сохранении записи сделать возможность загрузить файл в определённую подпапку и присвоить имя загруженного файла postmeta.

    Ваша хотелка сродни подкладыванию досок из багажника на каждую яму по ходу движения автомобиля. Вместо того чтобы заделать ямы или выбрать соседнюю дорогую.

    Только вот это может быть только одна дорога на всём белом свете.

    • Ответ изменён 4 года назад пользователем Alexander Babaev.
    Автор Alexander Babaev

    (@babaevan)

    Заливать картинки — да.

    Где можно почитать, как это реализовать?

    Автор Alexander Babaev

    (@babaevan)

    а тех. поддержку хостинга не хотите спросить, почему GD не работает?
    это будет в 100500 раз эффективнее, чем самому резать, оптимизировать и заливать картинки.

    Я всё же думаю, что эффективней всё-таки резать картинки. Есть ли какой-нибудь способ заливать их?

    Автор Alexander Babaev

    (@babaevan)

    Вообще говоря, можно ли сделать загрузку файла, минуя Медиафайлы?

    Автор Alexander Babaev

    (@babaevan)

    ну так GD есть — почему не режет?

    Спросите что-нибудь полегче)

    или его там нет?

    Его там нет.

    • Ответ изменён 4 года назад пользователем Alexander Babaev.
    Автор Alexander Babaev

    (@babaevan)

    а вы в этом уверены?

    Абсолютно. Например, ImageMagick не работает, вот такая вот GD:

    gd
    GD Support enabled
    GD Version bundled (2.1.0 compatible)
    GIF Read Support enabled
    GIF Create Support enabled
    PNG Support enabled
    libPNG Version 1.2.50
    WBMP Support enabled
    XBM Support enabled

    может просто надо где-то галочку в модулях php поставить?

    Доступа к настрорйкам php у меня нет.

    Автор Alexander Babaev

    (@babaevan)

    Вот ответ из ТП GeneratePress, который решил мою проблему:

    On this server, you can turn it off by adding this to wp-config.php:
    
    define( 'GP_IMAGE_RESIZER', false );

    Спасибо, Yui, за помощь и подсказки!

    Автор Alexander Babaev

    (@babaevan)

    gd
    GD Support 	enabled
    GD Version 	bundled (2.1.0 compatible)
    GIF Read Support 	enabled
    GIF Create Support 	enabled
    PNG Support 	enabled
    libPNG Version 	1.2.50
    WBMP Support 	enabled
    XBM Support 	enabled

    Imagick не установлен.

    Автор Alexander Babaev

    (@babaevan)

    Проверил логи и вот она ошибка?

    [03-Sep-2018 19:14:29 UTC] PHP Fatal error:  Uncaught IPQ_Process_Exception: Unable to get WP_Image_Editor for file "/var/www/html/www/***/uploads/2018/08/5.jpg": Не удалось выбрать редактор. (is GD or ImageMagick installed?) in /var/www/html/www/***/plugins/gp-premium/library/image-processing-queue/includes/class-ipq-process.php:71
    Stack trace:
    #0 /var/www/html/www/***/plugins/gp-premium/library/batch-processing/wp-background-process.php(303): IPQ_Process->task(Array)
    #1 /var/www/html/www/***/plugins/gp-premium/library/batch-processing/wp-background-process.php(449): WP_Background_Process->handle()
    #2 /var/www/html/www/***/wp-includes/class-wp-hook.php(286): WP_Background_Process->handle_cron_healthcheck()
    #3 /var/www/html/www/***/wp-includes/class-wp-hook.php(310): WP_Hook->apply_filters('', Array)
    #4 /var/www/html/www/***/wp-includes/plugin.php(515): WP_Hook->do_action(Array)
    #5 /var/www/html/www/***/wp-cron.php(126): do_action_ref_array('wp_image_proces...', Array)
    #6 {main} in /var/www/html/www/***/plugins/gp-premium/library/image-processing-queue/includes/class-ipq-process.php on line 71

    Оно?

    Автор Alexander Babaev

    (@babaevan)

    Возможно какой-то встроенный в тему функционал

    Тема является дочерней темой GeneratePress

    что-то из плагинов-«комбайнов»

    Вот все установленные плагины:

    встроенный в тему функционал

    Только одно в моей теме использует БД:

    <?php
    /*
     * Страница настроек шорткода mcbsu_postlist
     * в. 0.5 (А. Бабаев)
    */
    
    /**
     * Создаем страницу настроек плагина
     */
    add_action('admin_menu', 'medcolthm_admin_postlistsettings_addpage');
    function medcolthm_admin_postlistsettings_addpage() {
    	add_options_page( 'Настройки списка постов шорткода [mcbsu_postlist]', 'Список постов', 'manage_options', 'shcdmcbsupostlist', 'medcolthm_admin_postlistsettings_page_output' );
    }
    function medcolthm_admin_postlistsettings_page_output(){
    	?>
    	<div class="wrap">
    		<h2><?php echo get_admin_page_title() ?></h2>
    		<form action="options.php" method="POST">
    			<?php
    				settings_fields('option_group');
    				do_settings_sections('medcolthm_admin_postlistsettings_setsection');
    				submit_button();
    			?>
    		</form>
    	</div>
    	<?php
    }
    /**
     * Регистрируем настройки.
     * Настройки будут храниться в массиве, а не одна настройка = одна опция.
     */
    add_action('admin_init', 'medcolthm_admin_postlistsettings_settings');
    function medcolthm_admin_postlistsettings_settings(){
    	$regargs = array(
    		'type' => 'string',
    		'group' => $option_group,
    		'description' => 'Настройки связывания шорткода mcbsu_postlist с рубриками.',
    		'sanitize_callback' => 'medcolthm_admin_postlistsettings_sanitize',
    		'show_in_rest' => FALSE,
    	);
    	register_setting('option_group', 'mcbsu_postlist_options', $regargs);
    	add_settings_section('medcolthm_admin_postlistsettings_section_id', 'Настройки связывания с рубриками', '', 'medcolthm_admin_postlistsettings_setsection' );
    	add_settings_field('mcbsu_postlist_newsall_field', 'Все новости', 'medcolthm_admin_postlistsettings_postlist_newsall_fill', 'medcolthm_admin_postlistsettings_setsection', 'medcolthm_admin_postlistsettings_section_id');
    	add_settings_field('mcbsu_postlist_news_field', 'Новости текущего учебного года', 'medcolthm_admin_postlistsettings_postlist_news_fill', 'medcolthm_admin_postlistsettings_setsection', 'medcolthm_admin_postlistsettings_section_id');
    	add_settings_field('mcbsu_postlist_classifieds_field', 'Объявления', 'medcolthm_admin_postlistsettings_postlist_classifieds_fill', 'medcolthm_admin_postlistsettings_setsection', 'medcolthm_admin_postlistsettings_section_id');
    	add_settings_field('mcbsu_postlist_photogallery_field', 'Фотогаллерея', 'medcolthm_admin_postlistsettings_postlist_photogallery_fill', 'medcolthm_admin_postlistsettings_setsection', 'medcolthm_admin_postlistsettings_section_id');
    }
    // Заполняем опцию "Новости (все)"
    function medcolthm_admin_postlistsettings_postlist_newsall_fill(){
    	$val = get_option('mcbsu_postlist_options');
    	$val = $val ? $val['newsall'] : null;
    	?>
    	<input type="text" name="mcbsu_postlist_options[newsall]" value="<?php echo esc_attr($val) ?>" />
    	<?php
    }
    // Заполняем опцию "Новости текущего учебного года"
    function medcolthm_admin_postlistsettings_postlist_news_fill(){
    	$val = get_option('mcbsu_postlist_options');
    	$val = $val ? $val['news'] : null;
    	?>
    	<input type="text" name="mcbsu_postlist_options[news]" value="<?php echo esc_attr($val) ?>" />
    	<?php
    }
    // Заполняем опцию "Последние объявления"
    function medcolthm_admin_postlistsettings_postlist_classifieds_fill(){
    	$val = get_option('mcbsu_postlist_options');
    	$val = $val ? $val['classifieds'] : null;
    	?>
    	<input type="text" name="mcbsu_postlist_options[classifieds]" value="<?php echo esc_attr($val) ?>" />
    	<?php
    }
    // Заполняем опцию "Фотогаллерея"
    function medcolthm_admin_postlistsettings_postlist_photogallery_fill(){
    	$val = get_option('mcbsu_postlist_options');
    	$val = $val ? $val['photogallery'] : null;
    	?>
    	<input type="text" name="mcbsu_postlist_options[photogallery]" value="<?php echo esc_attr($val) ?>" />
    	<?php
    }
    // Очистка данных
    function medcolthm_admin_postlistsettings_sanitize ($options) { 
    	foreach ($options as $name => & $val) {
    		if ($name == 'news')
    			$val = strip_tags($val);
    		if ($name == 'classifieds')
    			$val = strip_tags($val);
    		if ($name == 'newsall')
    			$val = strip_tags($val);
    		if ($name == 'photogallery')
    			$val = strip_tags($val);
    	}
    	return $options;
    }
    Автор Alexander Babaev

    (@babaevan)

    это вам какой-то плагин обработки изображений или их оптимизации создает
    возможно он работает неправильно, или слишком медленно, особенно если это онлайн оптимизация изображений на сторонних сервисах

    Кроме Responsive Lightbox & Gallery ни одного плагина, связанного с изображениями нет.
    Если его отключить, то проблему это не решит.

    • Ответ изменён 4 года назад пользователем Alexander Babaev.
    Автор Alexander Babaev

    (@babaevan)

    https://ru.wordpress.org/plugins/delete-expired-transients/

    можете почистить плагином, если транзиенты (временные объекты) сами не удаляются

    Транзиты он удалил, а вот wp_image_processing_queue_batch_57c806c3efb5764182e0c938b0e71fd0
    всё продолжают появляться… постоянно…

    Автор Alexander Babaev

    (@babaevan)

    радикальное решение — использовать кеширование на основе redis,memcached,apcu,xcache (что есть) с соответствующим плагином объектного кеширования
    тогда транзиенты будут сохраняться туда, это и работать будет быстрее и удаление старых записей при большом их количестве будет происходить на уровне соответствующего сервера key-value кеша

    Посоветуйте, пожалуйста, адекватные плагины. Использовал Autooptimize, но он несколько подтормаживал сайт.

    То есть, эта беда может еще где-то вылезти боком.

    Она и вылезла. Пытаюсь установить WP Show Posts (на главную хочу вывести только категорию + пара ссылок внизу страницы). Плагин устанавливается, но при активации уходит в 502. Консоль выдаёт это:

    HTML-документ не содержит объявления кодировки символов. Если документ содержит символы, не входящие в диапазон US-ASCII, то в некоторых конфигурациях браузера в документе будет отображён искажённый текст. Кодировка символов страницы должна быть объявлена в документе или в протоколе передачи.

Просмотр 15 ответов — с 31 по 45 (всего 74)