2017-02-26 10 views
0

WordPressの書き換えURLのカスタム投稿タイプに問題があります。 私はこれを変更したいwww.domain.com/?post_type=review_smartphone:それを作るためにどのように、助けてくださいurlを書き直すには?post_type = WordPress

www.domain.com/smartphone

私は、このリンクを持っています。私はこの解決策を試します:https://wordpress.stackexchange.com/questions/248758/rewrite-rules-for-custom-post-type-slugしかし、私はそれを実装する方法を理解していません。

+0

どのようなパラマリンク構造を使用していますか? –

+0

以下のコードで修正されました。 – Opsional

答えて

0

このコードで修正されました。

/** 
* Re-write post type urls 
*/ 
function rewrite_post_type_init() { 
    // semua post type 
    global $wpdb; 
    $query_type = $wpdb->get_results(" 
     SELECT * 
     FROM " . $wpdb->prefix . "mf_posttypes 
     ORDER BY name 
     ASC 
    "); 

    // tampilkan post type 
    foreach ($query_type as $type) { 
     $args = array(
      'label'     => __($type->name, 'oelas'), 
      'supports'    => array('title', 'editor', 'excerpt', 'thumbnail', 'revisions', 'page-attributes'), 
      'taxonomies'   => array(strtolower($type->name).'_brand', 'post_tag'), 
      'hierarchical'   => true, 
      'public'    => true, 
      'show_ui'    => true, 
      'show_in_menu'   => true, 
      'show_in_admin_bar'  => true, 
      'show_in_nav_menus'  => true, 
      'can_export'   => true, 
      'has_archive'   => true, 
      'rewrite'    => array('slug' => strtolower($type->name)), 
     ); 

     register_post_type($type->type, $args); 

     add_rewrite_rule( 
      '^'.strtolower($type->name).'/([^/]+)/?$', 
      'index.php?post_type='.$type->type.'&name=$matches[1]', 
      'top' 
     ); 
    } 
} 

add_action('init', 'rewrite_post_type_init'); 

function rewrite_post_type_flatten_hierarchies($post_link, $post) { 
    // semua post type 
    global $wpdb; 
    $query_type = $wpdb->get_results(" 
     SELECT * 
     FROM " . $wpdb->prefix . "mf_posttypes 
     ORDER BY name 
     ASC 
    "); 

    // tampilkan post type 
    foreach ($query_type as $type) { 
     if (strtolower($type->name) != $post->post_type) { 
      return $post_link; 
     } 

     $uri = ''; 
     foreach ($post->ancestors as $parent) { 
      $uri = get_post($parent)->post_name . "/" . $uri; 
     } 

     return str_replace($uri, '', $post_link); 
    } 
} 

add_filter('post_type_link', 'rewrite_post_type_flatten_hierarchies', 10, 2); 
/***************** akhir */ 
関連する問題