Как я могу это сделать, чтобы на странице «Добавить новую почту» параметр «Видимость» был установлен «Приватный» по умолчанию?

Я пытаюсь создать плагин, который изменяет страницу «Добавить новую почту», поэтому поле «Видимость» говорит «Приватно» по умолчанию:

Status: Draft
Visibility: **Private**
Publish immediately

[Publish]

... в отличие от того, что WordPress обычно предполагает:

Status: Draft
Visibility: **Public**
Publish immediately

[Publish]

На данный момент я использую фильтр «wp_insert_post_data», и это позволяет мне менять любые сообщения с post_status «auto-draft» на «private». Хотя это работает, есть непреднамеренный побочный эффект: изменение post_status на «частный», кажется, публикует сообщение автоматически, изменяя кнопку в редакторе на «Обновить». Кроме того, если пользователь сохраняет до указания заголовка, публикация будет опубликована с заголовком «Авто-черновик».

Есть ли способ, по которому я могу просто изменить видимость в Private по умолчанию, таким образом, чтобы он не публиковал публикацию и не менял кнопку «Обновить»? В vanilla WordPress пользователи могут вручную изменить видимость на «Частный», а кнопка остается как «Опубликовать» ... Мне просто нужно добиться этого через плагин. Я также хочу обеспечить, чтобы пользователь мог публиковать «общедоступные», если они захотят.

Спасибо!

8 голосов | спросил Matt Refghi 18 PMpMon, 18 Apr 2011 21:42:08 +040042Monday 2011, 21:42:08

1 ответ


1

Правильный способ автоматической маркировки сообщения как частного заключается в том, чтобы сделать это с помощью фильтра wp_insert_post_data. Это очень просто:

add_filter('wp_insert_post_data', 'mark_post_private'); 
function mark_post_private($data)
{
    if($data['post_type'] == 'your_post_type_goes_here')
    {
        $data['post_status'] = 'private';
    }

    return $data;
}
ответил Yaron 17 WedEurope/Moscow2014-12-17T23:16:44+03:00Europe/Moscow12bEurope/MoscowWed, 17 Dec 2014 23:16:44 +0300 2014, 23:16:44

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132