wpbrasil / odin

Framework and base theme for development with WordPress.
http://wpod.in
563 stars 196 forks source link

É possível definir um Post Format em um Custom Post #174

Closed MaurilioNovais closed 10 years ago

MaurilioNovais commented 10 years ago

Defini um Custom Post para vídeos e gostaria de habilitar um Post Format somente de vídeo, isso é possível?

claudiosanches commented 10 years ago

Como você habilita Post Format para Custom Post Type fora do Odin? Me responde isso que eu te ensino como fazer no Odin.

MaurilioNovais commented 10 years ago

Antes de mais nada obrigado pela atenção claudiosmweb. Eu habilito o Custom Post Type pelo Odin mesmo, da seguinte forma:

function post_type_lectures() {

    // Cria um novo post type
    $lectures = new Odin_Post_Type(
        'Palestra', // Nome (singular) do Post Type 
        'palestras' // Slug do Post Type
    );

    // define os tipos
    $lectures->set_labels(
        array(
            'menu_name' => __( 'Palestras', 'odin' )
        )
    );

    $lectures->set_arguments(
        array(
            'supports' => array( 'title', 'editor', 'thumbnail' )
        )
    );

}

add_action( 'init', 'post_type_lectures', 1 );
claudiosanches commented 10 years ago

Sim, mas você não respondeu pra mim como faria isso sem o Odin. Mas de qualquer forma, você pode declarar suporte para posts-formats:

    $lectures->set_arguments(
        array(
            'supports' => array( 'title', 'editor', 'thumbnail', 'post-formats' )
        )
    );
MaurilioNovais commented 10 years ago

Certo Claudio, funcionou perfeitamente, mas tem como deixar setado por padrão a opção de vídeo em post-formats, ou deixar somente a opção de vídeo liberada?

De qualquer forma, ajudou bastante, obrigado! sem usar o Odin faria algo do tipo em functions.php

add_action( 'init', 'post_type_lectures' );

function post_type_lectures() {

    $labels = array(
        'name' => x('Palestras', 'nome geral'),
        'singular_name' => _x('Palestra', 'post type com nome singular'),
        'add_new' => _x('Add New', 'palestra'),
        'add_new_item' => _('Add Nova Palestra'),
        'edit_item' => __('Editar Palestra'),
        'new_item' => __('Nova Palestra'),
        'all_items' => __('Todas Palestras'),
        'view_item' => __('Ver Palestra'),
        'search_items' => __('Procurar Palestras'),
        'not_found' => __('Palestras não encontradas'),
        'not_found_in_trash' => __('Palestras não encontradas na lixeira'),
        'parent_item_colon' => '',
        'menu_name' => 'Palestras'
    );

    $args = array(
        'labels'             => $labels,
        'public'             => true,
        'publicly_queryable' => true,
        'show_ui'            => true,
        'show_in_menu'       => true,
        'query_var'          => true,
        'rewrite'            => array( 'slug' => 'palestras' ),
        'capability_type'    => 'post',
        'has_archive'        => true,
        'hierarchical'       => false,
        'menu_position'      => null,
        'supports'           => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments', 'post-formats' )
    );

    register_post_type( 'palestras', $args );

}
claudiosanches commented 10 years ago

Sim, mas como com essa sua função post_type_lectures() você iria definir como padrão o formato de vídeo?

MaurilioNovais commented 10 years ago

Não, com post_type_lectures() conseguiria no máximo habilitar a opção de formato nas postagens, procurei mas não encontrei nada relacionado a deixar uma opção especifica ativa por padrão, pois esse Custom Post Type de Palestras teria somente vídeos como conteúdo, por isso pensei em deixar habilitada somente a opção de vídeo nos post-formats...

Existe no Odin alguma forma de habilitar somente uma opção de 'post-formats', por exemplo a de Vídeo, ou a de Áudio?

Obrigado pela ajuda, abs

claudiosanches commented 10 years ago

Não existe nada assim no Odin. Se encontrar algo como fazer isso no WP podemos até integrar no Odin.

MaurilioNovais commented 10 years ago

Ok Claudio, vou pesquisar mais, fazer alguns testes e caso eu obtenha sucesso compartilho para podermos integrar no Odin caso a galera ache interessante...

Obrigado pela ajuda, abs

matheusgimenez commented 10 years ago

@MaurilioNovais você pode usar o hook save_post, colocar um if verificando o post_type, e se for o de vídeos, vc seta com set_post_format