Поддержка → Проблемы и решения → Время редактирования медиафайлов
Время редактирования медиафайлов
-
Здравствуйте, есть сайт, где на страницах постепенно добавлялись медиафайлы с документами. Сейчас появилась необходимость вывести дату создания и редактирования этих документов. Никак не могу сообразить как это сделать, прошу помощи.
-
Как эти медиафайлы добавлялись? Если через стандартный функционал добавления изображений, например — то даты создания и изменения хранятся в БД как post_date и post_modified. Если нет, то нужно больше информации.
Это список ссылок на медиафайлы. Добавлено через кнопку «добавить медиафайл». Там файлы doc и pdf. Не понимаю как это сделать по простому. Какой план моих действий (надеюсь я ошибаюсь и можно сделать намного проще). Как я понял в базе данных WordPress хранятся только даты создания и изменения отдельных записей и страниц, а тут просто ссылки на документы внутри одной страницы. О них где то есть инфа в БД? На край сделаю так — с помощью JS ищу ссылки на документы на странице, для каждой ссылки запрашиваю ajax-ом и с помощью php по этой ссылке на хостинге ищу файл и уже с него извлекаю дату создания и изменения, возвращаю и отображаю на странице. Надеюсь, что вы скажите, что все намного проще можно сделать ))
Тогда этот медиафайл с точки зрения базы данных такая же сущность, как и пост. И в таблице (wp)_posts можно найти post_date и post_modified, как я писала выше.
Зачем ajax? Если нужно на странице поста вывести прикрепленные к нему материалы с датой добавления/изменения, это можно сделать через шаблон/ы темы стандартными функциями WordPress типа get_attached_media().Спасибо, разобрался. А подскажите как мне сделать, чтобы для этих медиафайлов вывести даты создания и изменения, не создавая новый шаблон? Потому что страниц много, в некоторых есть ссылки на медиафайлы, а в некоторых нет. Для этого можно использовать какой то фильтр? То есть, вопрос в том, как мне сказать движку, чтобы с выводом ссылки на медиафайл снизу выводились даты. Сорян, если туплю. Очень благодарен за ваши ответы
я смог вывести даты с помощью get_attached_media() . Но я их вывел ниже ссылок на медиафайлы. Понимаю, что с помощью костылей можно их поставить на нужные места, но думаю есть более правильный и лаконичный метод
Потому что страниц много, в некоторых есть ссылки на медиафайлы, а в некоторых нет. Для этого можно использовать какой то фильтр?
Можно добавить код вывода нужной информации через условие наличия этой информации.
Но я их вывел ниже ссылок на медиафайлы.
Тут либо придется вмешиваться в стандартный вывод медиафайлов (как он там у вас реализован), либо написать свой код, который сразу будет выводить то, что нужно и там, где нужно. Что-то более дельное сказать можно, только после ознакомления с кодом.
реализовано просто вот так
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div class=»post» id=»post-<?php the_ID(); ?>»>
а потом выводится
<?php the_content(); ?>
Вот хочу понять, как залезть в вывод the_content и изменить его.
Буду благодарен , если скинете ссылки на функции или статьи, где описано как это вообще реализовано.Дайте код целиком и ссылку на сайт
<?php /* Template Name: Тестовая страница */ ?> <?php get_header() ?> <?php ?> <table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td width="296" valign="top" bgcolor="f6f4e8" style="background-image: url(/wp-content/themes/broiz/images/bgsidebar.jpg); background-repeat: no-repeat;"><?php include (TEMPLATEPATH.'/sidebar.php') ?> <?php # вывод левой колонки $my_meta = get_post_custom_values( 'lcol', $post->ID ); if ( $my_meta) { foreach ( $my_meta as $val_key => $val_val ) echo $val_val; } ?> </td> <td valign="top" > <p> </p> <!--start content --> <div class="breadcrumbs" xmlns:v="http://rdf.data-vocabulary.org/#"> <?php if(function_exists('bcn_display')) { bcn_display(); }?> </div> <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <div class="post" id="post-<?php the_ID(); ?>"> <?php edit_post_link('Редактировать','<p class="dat">','</p>') ?> <h1><?php the_title(); ?></h1> <p style="font-style: italic;text-align: right; font-size: 14px; color: #898989; padding-right: 20px">Страница опубликована: <?php echo get_the_date('F j, Y в G:i'); ?> <br> Время последнего редактирования: <?php the_modified_date('F j, Y в G:i'); ?> <?php the_content(); ?> <?php link_pages('<p>Другие страницы: ', '</p>', 'number'); ?> </div> <?php endwhile // have_posts()?> <?php else : // have_posts()?> <div class="block"> <h1>Не найдена страница</h1> <p>Такой страницы нет или адрес страницы неверен. Воспользуйтесь навигацией слева.</p> </div> <?php endif // have_posts() ?> <!--end content --> </td> <td width="20%" valign="top" > <p> </p> <?php # вывод правой колонки $my_meta = get_post_custom_values( 'rcol', $post->ID ); if ( $my_meta) { foreach ( $my_meta as $val_key => $val_val ) echo $val_val; }else{ ?> <img src="/wp-content/themes/broiz/images/plashka_zakon.jpg" width="202" height="150" /> <p><a href="/about/informaciya/"><br /> <img src="/wp-content/themes/broiz/images/plashka_vstupit.gif" width="158" height="58" border="0" /></a></p><p><a href="http://broiz.ru/vopros-otvet/"><font color="#333333" face="Verdana, Geneva, Arial, Helvetica, sans-serif"> <span style="line-height: 120%;font-size: 75%;"><b>Вопрос-Ответ</b></span></font></a></p> <?php } ?> </td> </tr> </table> <?php get_footer() ?>
-
Ответ изменён 1 год, 3 месяца назад пользователем
Yui. Причина: formatting
http://broiz.ru/dokumenty/uchreditelnye-dokumenty/
тут сразу пример страницы, на которой нужно чтоб отображались даты создания и редактированиякод почему то попал на проверку модератором
потому что нужно оформлять его в теги CODE
Какой, однако, … интересный код…
Ну да ладно, по существу:
Если содержимое страницы, выводимое через the_content(), содержит только ссылки на документы, можно вообще убрать его из кода. Если где-то в тексте страницы/статьи есть и другая информация, то есть три варианта:
1.1) можно убрать ссылки из содержимого статей/страниц вручную (долго, но надежно)
1.2) скрыть ссылки на документы стилями (быстро, но скроет все)
.. и вывести перечень прикреплений через отдельный код ниже/вместо the_content2) вывести этот же самый перечень со всей нужной информацией скрытым блоком и с помощью js подтягивать нужную информацию в текст статьи
вот над вариантом 2 я как раз и думал. Короче вывожу через get_attached_media нужную инфу в какой-то блок, его скрываю через css, через js в цикле перебираю элементы в этом скрытом блоке и вставляю в нужные места в страницу. Приложу все силы ))) спасибо большое за помощь. А если убрать все ссылки вручную, то как мне это по другому потом реализовать, чтобы достигнуть выполнения своей задачи? каким их образом добавить?
видимо второй вариант не получится — когда вывел через get_attached_media медиафайлы привязанные к странице, их оказалось намного больше, чем на странице. Извлекаются также видимо те медиафайлы которые раньше были на этой странице, а в настоящее время удалены
-
Ответ изменён 1 год, 3 месяца назад пользователем
- Тема «Время редактирования медиафайлов» закрыта для новых ответов.