Como configurar uma página inicial individual para cada usuário?

Gostaria de dar aos meus usuários a capacidade de personalizar a página inicial do site. Por exemplo, se alguém não estiver conectado, as categorias padrão aparecerão.

Uma vez que alguém crie uma conta e faça logon, ele / ela tem a oportunidade de ” adicionar / seguir ” mais categorias e tópicos ( tags ) e resultados de pesquisa. Essas novas postagens serão adicionadas ao stream na página inicial que eles vêem.

Eu procurei e procurei muito por tutoriais e plugins, mas não encontrei muito. Existe um tema premium, embora esse tipo de function tenha essa function.

Exibição de categoria O painel de imprensa permite configurar a página inicial individual para cada usuário: simplesmente ative a exibição de categorias para que os usuários possam escolher para si mesmos quais tópicos carregar.
( http://freetotry.me/pressboard/ -> botão de configurações no canto superior direito)

Quero replicar algo parecido com o acima. Mas, pensando nisso, não tenho certeza de qual seria a melhor abordagem.

  • adicionando variables ​​à url (http://codex.wordpress.org/Function_Reference/add_query_arg) e salve o resultado em algum lugar. E talvez use jQuery para “normalizar” a localização do URL depois.
  • Habilite rssfeeds para cada tag, resultados de pesquisa e categoria, onde os usuários podem se inscrever. Armazene esses valores de alimentação e crie sua página inicial a partir desses feeds.
  • Adicione as categorias / tags etc ao perfil de usuário para seguir / não seguir, salvar esses dados e ajustar a publicação da consulta.
  • De outra forma?

Alguém sabe como conseguir uma página inicial personalizada para cada usuário?

Solutions Collecting From Web of "Como configurar uma página inicial individual para cada usuário?"

Encontrou e combinou algum código que parece funcionar para categorias. Então, deixando o código se alguém mais enfrentar o mesmo problema. Para referência. – Filtre todas as consultas com uma taxonomia específica – Adicionando dados de perfil de usuário personalizados com base em categorias

O abaixo permite que um usuário escolha categorias neste perfil, após o qual a página inicial permitirá mostrar suas categorias selecionadas.

//create the user category fields add_action( 'show_user_profile', 'add_user_categories' ); add_action( 'edit_user_profile', 'add_user_categories' ); function add_user_categories($user ){ ?> 
< ?php $data = get_the_author_meta( 'user_categories', $user->ID ); $args = array( 'hide_empty' =>0, 'taxonomy'=> 'category'); $categories= get_categories($args); if ($categories){ foreach ( $categories as $category ){ if(in_array($category->term_id,(array)$data)) { $selected = 'checked="checked""'; } else { $selected = ''; } echo ''.$category->name.'
'; } } ?>
< ?php } //save the user category fields add_action( 'personal_options_update', 'save_user_categories' ); add_action( 'edit_user_profile_update', 'save_user_categories' ); function save_user_categories( $user_id ){ if ( !current_user_can( 'edit_user', $user_id ) ) { return false; } update_usermeta( $user_id, 'user_categories', $_POST['user_categories'] ); } function my_get_posts( $query ) { // we only need to modify the query for logged in users if ( !is_user_logged_in() ) return; $current_user = wp_get_current_user(); // assuming that the users interest is stored as user_categories meta key $user_categories = get_user_meta( $current_user->ID, 'user_categories', true ); $query->set( 'tax_query', array( array( 'taxonomy' => 'category', 'field' => 'id', 'terms' => $user_categories ) )); return $query; } add_filter( 'pre_get_posts', 'my_get_posts' );