Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou fazendo um sistema de posts parecido com o do Facebook, o ou o do tumblr. Bom, se o post fosse apenas um texto, com imagem ou video, não teria problema. O problema é que vai existir diversos tipos de post, como: Artigo, Quiz etc. E as informações de cada um são bem diferentes. Eu queria uma técnica eficaz de fazer isso, o que eu pensei:
-Uma tabela para o post: id, user_id, type etc... Esse type seria o típo de post. -Criaria uma tabela para cada tipo de post com as informações que precisasse. E na hora de chamar o post na página, eu o identificaria pelo type e traria de forma correta.
Essa é ma solução, mas não sei se é a melhor...
Eu quis dizer: 'uma' ao invés de 'ma' haha. Então esse seria um bom método? Ou seria difícil e trabalhoso na hora de exibir o post? Eu poderia pesquisar os posts (com um algoritmo específico para trazer os melhores posts para determinado usuário) e fazer um foreach, em cada post eu pesquiso por tipo e executo uma função para mostrar para cada tipo. Trabalhoso? E não, wordpress não serviria.
É uma solução.
Você cadastra o 'tipo_post' que cada usuário pode utilizar, e recupera eles no ato do Login.
Ex:
João -> *Fotografo
Rogério -> *Redator
*Fotografo = 2 Campos de arquivo + 2 descrições
*Redator = Campo text input
Ai esses 'tipos' de cadastro você verifica pela sessão.
E só exibe o campo caso o usuário tem essa opção.
<?php if($_SESSION['user']->isRedator): ?>
<textarea name="" id="" cols="30" rows="10"></textarea>
<?php endif; ?>
Por que é uma 'má solução' separar por tipo de post?
Vejo tanta base de dados utilizando esse conceito que já nem sei se a melhor opção é ter 300 tabelas para cada tipo especifico de dado....
Repare no wp_posts -> post_type:
(Depois de fazer consultas com Joins infinitos você vai entender oq estou falando...)
https://codex.wordpress.org/Database_Description
Utilizar o próprio WordPress não seria uma opção a você?
Da uma lida:
https://codex.wordpress.org/pt-br:Tipos_de_Posts_Personalizados
https://codex.wordpress.org/Function_Reference/register_post_type
WP + Advanced Custom Fields (assim só aparece campo X, quando tipo da postagem é Y) é mamãozinho hehe.