8ответ(ов) в теме
barsssik@mail.ru
не в сети 3 года
На сайте с 16.03.2018
Участник
Тем 18
Сообщения 96
1
12:22
Версия WP-Recall: 16.15.0
Версия дополнения: 1.0.3

Всем привет.
Установил дополнение Prime Image Uploader. Считаю, было бы неплохо сделать выбор размера изображения (миниатюра, средний, большой, оригинал).
Доп. Magnific Popup Recall тоже установил, только так и не понял, где он меняет изображения и как его настраивать.
И еще, форум не дает выложить просто картинку без текста (он считает, что это пустое сообщение).
Приходится что-то придумывать, вставлять смайлы и т.п.

0
Андрей CS
не в сети 1 день
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16855
2
12:26

Перенесено, у данного дополнения есть свой форум

0
Вова (Otshelnik-Fm)
не в сети 7 часов
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18647
3
12:32

barsssik@mail.ru сказал(а)
только так и не понял, где он меняет изображения и как его настраивать.

доп Magnific Popup Recall не имеет настроек и делает все автоматически. Давайте ссылку на проблему

Редакции сообщения
26.04.2018 12:32Otshelnik-FmПричина: не указано
0
barsssik@mail.ru
не в сети 3 года
На сайте с 16.03.2018
Участник
Тем 18
Сообщения 96
4
12:37

доп не имеет настроек и делает все автоматически. Давайте ссылку на проблему

Ссылку дать не на что) Я бы не сказал что это проблема, скорее предложение:
1. Дать возможность при загрузке изображений на форум указывать их размер (оригинал, миниатюра, средний, большой)
2. Дать возможность постить просто изображения без текста
3. Дать возможность вставлять изображения вперемешку с текстом, а не только внизу под текстом.

Было бы круто. Лично я готов за это доплатить дополнительно. Думаю, другие вебмастера тоже)

0
Андрей CS
не в сети 1 день
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16855
5
13:07

пункт 1 - возможно рассмотрю позже
пункты 2 и 3 имеют массу подводных камней, которые делают реализацию затруднительной, не так давно обсуждали возможность постить изображения в произвольное место визуального редактора обычной публикации без использования медиабиблиотеки, там я указывал на проблему подобного подхода, тут та же история - медиабиблиотека загруженных к посту изображений должна быть, тогда пользователь сможет управлять этими изображениями, а админ сможет контролировать загрузку изображений установленными лимитами, вот выводимая галерея изображений и выполняет роль медиабиблиотеки только для одного сообщения.

0
Preci
не в сети 1 день
На сайте с 11.11.2014
Участник
Тем 71
Сообщения 1643
6
20:41

По поводу ставки картинок:

Скрипт для вставки в любое место:

jQuery.fn.extend({
    insertAtCaret: function(myValue) {
        if (document.selection) {
                this.focus();
                sel = document.selection.createRange();
                sel.html = myValue;
                this.focus();
        }
        else if (this.selectionStart || this.selectionStart == '0') {
            var startPos = this.selectionStart;
            var endPos = this.selectionEnd;
            var scrollTop = this.scrollTop;
            this.value = this.value.substring(0, startPos)+myValue+this.value.substring(endPos,this.value.length);
            this.focus();
            this.selectionStart = startPos + myValue.length;
            this.selectionEnd = startPos + myValue.length;
            this.scrollTop = scrollTop;
        } else {
            this.value += myValue;
            this.focus();
        }
    }
});

jQuery(document).on('click', '.piu-image-preview img', function(){
	
	var img = jQuery(this).attr('src');
	jQuery('.wp-editor-area').insertAtCaret('<img src="'+img+'">');
});

Код для фильтра контента и замены картинки на ту, что получилась после перемещения ее в медиабиблиотеку


function get_attachment_url_by_title( $title ) {
    global $wpdb;

    $attachments = $wpdb->get_results( "SELECT * FROM $wpdb->posts WHERE guid LIKE '%$title%' AND post_type = 'attachment' ", OBJECT );
	
    //print_r($attachments);
    if ( $attachments ){

        $attachment_url = $attachments[0]->guid;

    }else{
        return 'image-not-found';
    }

    return $attachment_url;
}

add_action('pfm_add_post','pfm_parse_img_after_add_post',999);
add_action('pfm_after_update_post','pfm_parse_img_after_add_post',999);

function pfm_parse_img_after_add_post($post_id) {
	$dom=new DOMDocument();
	$dom->loadHTML(pfm_get_post_content($post_id));
	$imgs = $dom->getElementsByTagName('img');
	foreach($imgs as $img){

		$img_src = $img->getAttribute('src'); // will give you the src String

		//do something here
		$pathinfo = pathinfo($img_src);
		$img_name = $pathinfo['filename'].'.'.$pathinfo['extension'];
		 
		$new_src = get_attachment_url_by_title($img_name);
		$img->setAttribute('src',$new_src); // change your src= value

	}
    $args = array();
	
	$args['post_content'] = $dom->saveHTML();
    
	global $wpdb;
    
	$result = $wpdb->update(
        RCL_PREF.'pforum_posts',
        $args,
        array(
            'post_id' => $post_id
        )
    );
}

Для упрощения что бы не использовать поиск LIKE %...% можно при перемещении картинки в библиотеку в поле, например, post_name писать сгенерированное имя файла.

Ну или может это натолкнет на другую реализацию, но думаю это реально

0
barsssik@mail.ru
не в сети 3 года
На сайте с 16.03.2018
Участник
Тем 18
Сообщения 96
7
21:42

Первый код куда надо вставлять? В functions.php?

0
Preci
не в сети 1 день
На сайте с 11.11.2014
Участник
Тем 71
Сообщения 1643
8
23:39

barsssik@mail.ru сказал(а)
Первый код куда надо вставлять? В functions.php?

Это пока лучше не использовать, там надо еще разобраться с тем, что может быть картинка с другого домена

0
Вы не имеете права на публикацию сообщений в этой теме