Как автоматически предварительно выбрать страницу или пост родителя (ID) из выпадающего списка? - PullRequest
0 голосов
/ 07 апреля 2020
function autoset_parent_dropdown() {
    global $pagenow;
    if($pagenow == 'post-new.php') {
        parent_dropdown( '477', '477', '0', null );
    }
}
add_action( 'admin_init', 'autoset_parent_dropdown' );

Как предварительно выбрать страницу или родитель (ID) из выпадающего списка автоматически?

при пост-новом. php, при создании нового сообщения.

Я пытаюсь использовать приведенный выше код, но он не работает. Нельзя выбрать родительский пост / страницу с помощью функции parent_dropdown.

Я сослался: https://developer.wordpress.org/reference/functions/parent_dropdown/

Пожалуйста, исправьте меня, если я делаю что-то не так.

1 Ответ

0 голосов
/ 07 апреля 2020

Попробуйте этот метод. Протестировано на Wordpress 5.3.2, но должно работать на всех версиях.

add_filter('default_content', 'assign_parent_to_new_post', 10, 2);
/**
 * @param string $post_content
 * @param WP_Post $post
 *
 * @return string
 */
function assign_parent_to_new_post($post_content, $post)
{
    if ($post->post_type != 'page') {
        return $post_content;
    }

    $post->post_parent = 7; //Parent post_id goes here
    wp_update_post($post);
    return $post_content;
}

Идея, лежащая в основе этого, довольно проста - подключить где-нибудь внутри пустого процесса создания записи, подставить post_parent, а затем выложить sh в базу данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...