Я хочу использовать переменную PHP в теме tumblr, чтобы размеры фотографий были случайными. Можно ли использовать PHP в пользовательской теме tumblr или это собственный язык / API, который не позволяет встроить PHP?
Нет, потому что это вызовет уязвимости системы безопасности, и именно по этой причине они используют усы в своих темах. Я также уверен, что tumblr не написан на PHP.
Я сделал еще несколько исследований, и я думаю, что этот метод с использованием тегов, возможно, лучший, по крайней мере, самый удобный:
Можете ли вы настроить формат сообщения Tumblr на основе его тега?
Я установил несколько разных классов в CSS для своих клиентов: .small, .medium, .large. Теперь они могут просто пометить любое из этих трех слов и соответственно изменить размер фотографии. Единственный недостаток заключается в том, что теги видны в потоке фото tumblr, поэтому вы можете увидеть «#small» или что-то в этом роде. Я бы предпочел не иметь этого, но я не могу представить себе более простой способ для пользователя легко добавить класс в сообщение.
Вы не можете использовать переменные PHP в темах Tumblr, потому что Tumblr использует свой собственный механизм шаблонов вместо PHP.
Только одна переменная переменной, которую вы можете создавать с темами Tumblr, – это параметры внешнего вида темы , но они являются общими для всех тем.
Используйте руководство « Создать пользовательскую HTML-тему » для создания классов настройки (с помощью CSS) для каждой публикации, как это делается в моей разработанной теме Hampi :
<article id="post{PostID}" class=" {PostType} {block:PostNotes}hasnotes{block:PostNotes} {block:More}hasmore{/block:More} {block:HasTags}hastags{/block:HasTags} {block:Date} postdate-{AmPm} postdate-{ShortDayOfWeek} postdate-{ShortMonth} postdate-{DayOfMonthWithZero} postdate-{Year} {/block:Date} {TagsAsClasses} ">
Используйте javascript (на самом деле jQuery ) для изменения стилей для каждого сообщения со случайными значениями ширины, как в этой демонстрации на jsFiddle :
$(function() { $.each($('.post'), function(i, post) { var max = 800, min = 500, rand = (Math.floor(Math.random() * max) + min); $(post).css('width', rand); }); });
С этим результатом для max=200
и min=100
: