2013-03-25 20 views
10

L'installazione di Wordpress ha tre tipi di post: pagine, post e portfolio. La struttura attuale è la seguente:Wordpress Permalink personalizzato per post semplici

  • pagina: example.com/page-name,
  • postale dell'avviso: example.com/blog,
  • singolo post: example.com/post-name,
  • portafoglio pagina che elenca: example.com/portfolio,
  • portafoglio individuale post: example.com/portfolio/portfolio-name.

La cosa che vorrei cambiare è il singolo post permalink, ma nient'altro. Mi piacerebbe diventare example.com/blog/post-name.

Non riesco a trovare la documentazione che mostra come apportare questa modifica senza influire sugli altri tipi.

EDIT: mia struttura dei permalink corrente è impostato per essere /%postname%/, e in Impostazioni di lettura, la mia pagina messaggi è impostato al Blog.

register_post_type('portfolio', array( 
'label' => 'Portfolio Items', 
'description' => '', 
'public' => true, 
'show_ui' => true, 
'show_in_menu' => true, 
'capability_type' => 'post', 
'hierarchical' => true, 
'rewrite' => array('slug' => 'portfolio'), 
'with_front' => false, 
'query_var' => false, 
'has_archive' => true, 
'exclude_from_search' => false, 
'supports' => array('title','editor','excerpt','trackbacks','custom-fields','comments','revisions','thumbnail','author','page-attributes'), 
'taxonomies' => array('category','post_tag'), 
'labels' => array (
    'name' => 'Portfolio Items', 
    'singular_name' => 'Portfolio Item', 
    'menu_name' => 'Portfolio Items', 
    'add_new' => 'Add Portfolio Item', 
    'add_new_item' => 'Add New Portfolio Item', 
    'edit' => 'Edit', 
    'edit_item' => 'Edit Portfolio Item', 
    'new_item' => 'New Portfolio Item', 
    'view' => 'View Portfolio Item', 
    'view_item' => 'View Portfolio Item', 
    'search_items' => 'Search Portfolio Items', 
    'not_found' => 'No Portfolio Items Found', 
    'not_found_in_trash' => 'No Portfolio Items Found in Trash', 
    'parent' => 'Parent Portfolio Item', 
) 
)); 

risposta

33

è sufficiente impostare /blog/%postname%/ come la struttura permalink, questo non cambierà le vostre pagine permalink.

E per mantenere i permalink del portafoglio, è necessario impostare with_front su false quando si registra questo tipo di post.

'with_front' => bool Qualora la permastruct essere prefissati con la base anteriore . (esempio: se la struttura del permalink è /blog/, i tuoi collegamenti saranno: false->/news/, true->/blog/news/). L'impostazione predefinita è true

MODIFICA 1: Probabilmente dopo questo è il flush Wordpress rewrite rules.

EDIT 2: with_front param è un param rewrite:

'rewrite' => array('slug' => 'portfolio', 'with_front' => false), 
+0

Ok, quindi questo lo più lavorato. L'elenco dei blog e le singole pagine del blog sono corretti. La pagina di elenco del portfolio e le singole pagine non hanno il/blog/che è corretto. Il problema rimanente è questo: Quando vado alla pagina di elenco del mio portfolio, quindi fai clic su uno dei titoli dell'elemento-- per andare alla pagina di quell'elemento, cerca di andare su example.com/blog/portfolio/porfolio-item -titolo Invece di andare all'url corretto di example.com/portfolio/portfolio-item-title – frogg3862

+0

Hai registrato il tuo tipo di post correttamente come descritto nella mia risposta? Dovresti anche svuotare le regole di riscrittura di Wordpress. – soju

+0

Sì, avevo registrato il tipo di post come l'hai descritto. Ho appena svuotato le regole di riscrittura. Tutte le pagine del blog vanno bene, ma il portfolio è ancora una volta in/blog/ – frogg3862

Problemi correlati