Wordpress: скриване на изображение в публикация

waldes

Well-Known Member
Някой знае ли начин или плъгин, който да ''крие'' изображенията в дадена публикация за посетителите на дадена статия в сайт, но самия текст да може да го виждат/четат.
Например имаме качени 3 изборажения към статия в администраторския панел, но като се публикува самата публикация да се вижда само текста, без изображенията.
Пример:
Това е статията с качени изображения, като статията е публикувана с тях
1.jpg
А това е същата статия на фронтенда, но слипсващи изображения, смао статията се вида:)
2.jpg

Едит: може би някак да се отнемат права да се виждат изображенията , ако посетителя не е регистриран или да се виждат само от администратора/едитора/автора. Нещо такова.
 
Ограждай изображенията с някакъв див, примерно
<div class="hidden-image">
<img width="300" height="160" src="http://domain.com/wp-content/uploads/2012/05/random-image.jpg" class="attachment-300x160" alt="some alt tag" title="some title tag">
</div>

И в style.css сложи следното:

.hidden-image {
display: none;
}

В този случай никой няма да ги вижда през фронтенда.

Ако искаш да се виждат от регистрирани потребители трябва да ползваш това - http://codex.wordpress.org/Function_Reference/is_user_logged_in

В случая обаче, wordpress не позволява да се въвежда php в публикациите през админ панела, освен ако не ползваш добавка, което от гледна точка на сигурността не е добра идея. Най-лесният вариант е да си направиш шорткод. Ще си поиграя малко и след 15-20 минути ще пиша отново по темата, надявам се с готово решение :)
 
Готово ;)

Сложи следното във файла functions.php на темата си:

Код:
function hiddencontent( $atts, $content = null ) {
	
	if ( is_user_logged_in() ) {
		return '<div class="not-hidden-content">'.$content.'</div>';
	} else {
		return '<div class="hidden-content" style="display: none">'.$content.'</div>';
	}
	
}

add_shortcode("hc", "hiddencontent");

С това можеш да криеш каквото съдържание искаш. Текст, снимки, клипове. Имай предвид, че все още се вижда в сорскода. Ползвай шорткода [hc]скрит текст/снимка[/hc]

По този начин потребителите влезли в системата ще виждат скритото съдържание, а тези които не са влезли с профил ще получават вторият див със стил - display: none
 
А да, забравих. Ако искаш дори и в сорскода да не се вижда, просто премахни

Код:
else {
		return '<div class="hidden-content" style="display: none">'.$content.'</div>';
	}

Даже може да се премахне и див класа, защото вече ще е ненужен ;) т.е. функцията ще изглежда ей така:

Код:
function hiddencontent( $atts, $content = null ) {
	
	if ( is_user_logged_in() ) {
		return $content;
	} 
	
}

add_shortcode("hc", "hiddencontent");

Иначе казано шорткода ще показва съдържанието само на регистрираните потребители.
 
  • Like
Реакции: Sky
От: Wordpress: скриване на изображение в публикация

Мерси Томов. Свърши идеална работа:beer:
 
Наздраве :beer:
 

Горе