Criar postagem para cada usuário?

Eu queria saber se existe uma maneira de criar uma postagem para cada usuário. Um tipo de como uma atualização em massa que associaria determinado meta de usuário à postagem criada.

Eu preferiria executar um script de loop que percorra todos os usuários e crie uma postagem para cada uma usando informações de meta específicas do usuário.

Por exemplo, se eu tiver cinco usuários para os quais eu gostaria de criar postagens. As postagens serão intituladas usando cada um de seus nomes completos.

Exemplo básico:

Comercial

johnny

jannie

bobbie

craig

mitch

Meta do usuário

John Doe

Jane Doe

Bob Collins

Craig Matthews

Mitchell Humphries

Títulos de postagem:

John Doe

Jane Doe

Bob Collins

Craig Matthews

Mitchell Humphries

Esse pedido é incomum, mas preciso de uma correção temporária até terminar um plugin para a pesquisa completa do usuário. Qualquer ajuda com isso seria muito apreciado.

Solutions Collecting From Web of "Criar postagem para cada usuário?"

Crie isso como um plugin e ative-o. Desactiva-se depois que cria uma página principal para Autores e subpáginas para cada Autor + ou papel melhor. No final, ele se desativa.

Melhore-o como desejar. Usa

// Hook activation to create new Author Pages register_activation_hook(__FILE__, function(){ // Create a Parent Page for all Author Pages if(!($parent = get_page_by_title('Authors'))){ $parent = wp_insert_post(array( 'post_type' => 'page', 'post_title' => 'Authors', 'post_content' => 'Authors are children of this page.', 'post_status' => 'draft', // Or publish )); } if(!$parent){ // Bad... ERROR! return; } // Get user IDs, get_users() returns too much data global $wpdb; $IDs = $wpdb->get_col("SELECT `ID` FROM {$wpdb->users} ORDER BY `user_registered` DESC;"); // Loop IDs and create subpages for Authors+ (not Subscribers) foreach($IDs as $ID){ // Get user $user = new WP_User($ID); // Only create pages for Authors! if(!$user->has_cap('edit_posts')) continue; // Create page for Author $title = "About Author: {$user->display_name}"; if(!($child = get_page_by_title($title))){ $child = wp_insert_post(array( 'post_type' => 'page', 'post_title' => $title, 'post_name' => $user->display_name, 'post_content' => 'Write stuff about the Author.', 'post_status' => 'draft', // Or publish 'post_parent' => $parent, )); // Setup according Metas (for further tracking) update_post_meta($child, 'about_author', $user->user_login); update_post_meta($child, 'about_author_ID', $user->ID); } } // Done! WILL RUN JUST ONCE, deactivates itself afterwards. deactivate_plugins(__FILE__, true); die; }); 

É uma espécie de abordagem hackeada, mas fará o que você precisa. Ele usa um encerramento PHP 5.3. Considere reverter ao PHP 5.2 compatibilidade uma tarefa 🙂

Atenciosamente .