#wordpress
#wordpress
Вопрос:
Мне было интересно, возможно ли добавить небольшое поле, например, поле «выдержка», ко всем сообщениям в WordPress, чтобы я мог вводить URL.
Приветствия,
Ответ №1:
Вы можете использовать функцию add_meta_box. Вам также понадобится функция обратного вызова, которая выводит HTML-форму на экран публикации, и функция сохранения.
Вот простой пример, который добавляет мета-поле URL в нижнюю правую часть экрана публикации.
add_action( 'add_meta_boxes', 'c3m_sponsor_meta' );
function c3m_sponsor_meta() {
add_meta_box( 'c3m_meta', 'Sponsor URL Metabox', 'c3m_sponsor_url_meta', 'post', 'side', 'high' );
}
function c3m_sponsor_url_meta( $post ) {
$c3m_sponsor_url = get_post_meta( $post->ID, '_c3m_sponsor_url', true);
echo 'Please enter the sponsors website link below';
?>
<input type="text" name="c3m_sponsor_url" value="<?php echo esc_attr( $c3m_sponsor_url ); ?>" />
<?php
}
add_action( 'save_post', 'c3m_save_project_meta' );
function c3m_save_project_meta( $post_ID ) {
global $post;
if( $post->post_type == "post" ) {
if (isset( $_POST ) ) {
update_post_meta( $post_ID, '_c3m_sponsor_url', strip_tags( $_POST['c3m_sponsor_url'] ) );
}
}
}
Редактировать: Исправлена ошибка пространства имен в коде выше.
Комментарии:
1. @Chris_O — Это именно то, что мне нужно… Единственная проблема заключается в том, что оно не сохраняет значение, которое я ввожу в поле
2. @Chris_O — Ооо, убери этот последний комментарий, я только что прочитал комментарий над кодом, хахаха, большое спасибо 🙂
3. @BigJobbies Я обновляю приведенный выше код до того, который я использовал для URL-адресов.