Intereting Posts
Плагин перенаправления – как разрешить редактору доступ к меню перенаправления? Изменить основной цикл на странице архива таксономии Лучший подход для пользовательской базы данных, заполняющей типы пользовательских сообщений WP Сломанный CSS после изменения URL-адреса сайта Множественные установки WordPress на одном сервере Как напечатать текст в виде короткого кода в визуальном редакторе WordPress TinyMCE? Проблемы с перенаправлением на «красивые» постоянные ссылки (wordpress в подкаталоге) На моей странице архивов я не вижу своих настраиваемых типов сообщений страница с логотипом в разделе «выбранные параметры» заблокирована Обновление 4.2 utf8mb4 обновления Папка сайта установки WordPress перемещается в конечный пункт назначения сайта Как удалить блокировку отображения css из wordpress при создании темы? Массовые сменные столбцы, имеющие суффикс Получить все идентификаторы изображений из медиа-библиотеки Как изменить вывод get_the_tag_list ()?

условная логика для редактирования пользовательских полей переднего плана

Я только начинаю изучать php / js и хотел бы получить некоторые рекомендации по наилучшему способу настройки моей логики: Цель – отображение значения в пользовательском метафоне в настраиваемом типе сообщений. Если пользователь является автором страницы, отобразите кнопку редактирования, которая откроет поле ввода. Этот вход должен позволить пользователю (автору) обновить настраиваемое поле (метабокс) от внешнего интерфейса.

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

<?php /* check if POST 'leadcandidate' has no value and set var $nersi by custom field in database, or by POST if it has a positive value */ if(empty($_POST['leadcandidate'])){ $nersi = ($meta_values[_dtm_lead_candidate][0]); } else { $nersi = $_POST['leadcandidate']; } /* check if user is author of custom post type */ global $current_user; get_currentuserinfo(); if (is_user_logged_in() && $current_user->ID == $post->post_author) { echo '<button id=btn3>Edit me</button>'; /* input field will be hidden and revealed on button click with JS */ /* add $nersi as vlue of input so user starts from seeing what current value of field is */ echo '<form method="post" action=""><input type="text" name="leadcandidate" value="' . $nersi . '"><input type="submit"></form>'; } /* this updates the database that stores the metafield */ update_post_meta(get_the_ID(), '_dtm_lead_candidate', $_POST['leadcandidate']); ?> /* display the value of metafield (to everyone) */ <h3 id="leadc"><?php echo 'Lead Candidate:' . $nersi; ?></h3>