Проблема с созданием галереи
-
Приветствую! Сразу скажу, что php я знаю плохо. Вернее сказать не знаю, но понимаю т.к. занимаюсь прикладным программированием.
Постановка задачи: необходимо сделать страницу с галереей с помощью своего шаблона. В этом шаблоне стоит фильтр на посты, который выводит только те, что имеют метаданные ‘imageurl’. Отображается с помощью такого кода:
<a href="<?php echo get_permalink() ?>"> <img src="<?php echo get_post_meta($post->ID, 'imageurl', true);?>" width="190px" style="border: 2px #CFCFCF solid;"></a>
Отсюда видно, что ссылку на миниатюру хранит metadata «imageurl»При редактировании публикации можно изменить metadata «imageurl» с помощью стандартной формы, но для удобства я написал форму (в файле functions.php) в которую вставляется ссылка на миниатюру.
Выглядит она так:
http://airphotos.ru/wp-content/uploads/2010/12/add.jpgДля обновления metadata используется следующий код (functions.php):
add_action('save_post', 'metasave'); function metasave() { global $post; if ($_POST[imageurl]!='') update_post_meta($post->ID, 'imageurl', $_POST[imageurl]); else delete_post_meta($post->ID, 'imageurl'); }
Проблема в следующем: после успешного добавления поста в галерею спустя некоторое время он оттуда пропадает. Точную закономерность действий приводящих к этому последствию я установить не могу, но как правило это происходит при редактировании другого поста не содержащему ссылку в галерею. Очевидно, что срабатывает условие delete_post_meta. В functions.php эта функция встречается только в приведенном выше коде.
Мне совершенно не понятно почему при редактировании одной публикации изменяются метаданные в другой. Никак не понятно.
Объясните мне, пожалуйста, как решить эту проблему. Спасибо!
- Тема «Проблема с созданием галереи» закрыта для новых ответов.