質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.47%

  • PHP

    20811questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • WordPress

    7419questions

    WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

wordpress 投稿のカテゴリ・タグをカスタム投稿にそのまま移動するには

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 1,202

kanoccc

score 4

度々すみません。
こちらで質問をさせて頂いたのですが、私が質問内容を上手くまとめられず分かりづらいと思ったので、現状やりたいことと起きている問題を記させて頂きます。

実現したいこと

wordpress(1)から(2)へとエクスポートした投稿内容を、カテゴリ・タグはそのままに、wordpress(2)内に作成したカスタム投稿へと移動したい。

作業内容

同ドメイン内に2つのwordpress(エクスポートする方を(1)、インポート先を(2)とする)が存在しているので片方に統合するため、wordpress(1)の投稿内容をwordpress(2)の投稿に、wordpressデフォルトのエクスポート・インポートを使用して移動させた。
この移動してきた投稿内容を、wordpress(2)内に新しく作成したカスタム投稿タイプ[blog]に移動させたいが、カテゴリ・タグの移動がうまく行かず、
『投稿のカテゴリ・タグをカスタム投稿へ移動』ではなく、『投稿のカテゴリ・タグをそのままカスタム投稿でも共有して使う』という状態になってしまっている。
その為、この[blog]内にあるカテゴリをクリックすると、
www.○○○.com/blog/カテゴリースラッグ
となって欲しいのに
www.○○○.com/カテゴリースラッグ
となってしまう。

この際使用したプラグインは
・Custom Post Type UI … カスタム投稿タイプを作るのに使用。(ビルトインのカテゴリとタグにチェックを入れてある)
・Convert Post Types … 投稿→カスタム投稿へ記事・カテゴリ・タグを移動するのに使用。

上記の作業で起きた問題に対して行った事

行った事(1):プラグイン『Custom Post Type UI』を使用せずに、function.phpにカスタム投稿を追加する記述をする。

add_action('init', 'add_blog_post_type');
function add_blog_post_type() {
    $args = array(
            'labels' => array(
                    'name' => 'ブログ',
                    'singular_name' => 'ブログ',
                    'add_new' => '新規追加',
                    'add_new_item' => 'サイトを新規追加',
                    'edit_item' => 'サイトを編集する',
                    'new_item' => '新規サイト',
                    'all_items' => 'サイト一覧',
                    'view_item' => 'サイトの説明を見る',
                    'search_items' => '検索する',
                    'not_found' => 'サイトが見つかりませんでした。',
                    'not_found_in_trash' => 'ゴミ箱内にサイトが見つかりませんでした。'
            ),
            'public' => true,
            'has_archive' => true,
            'publicly_queryable' => true,
            'show_ui' => true,
            'query_var' => true,
            'rewrite' => true,
            'capability_type' => 'post',
            'hierarchical' => false,
            'menu_position' => 5,
            'supports' => array('title','editor','thumbnail','custom-fields','excerpt','revisions','page-attributes','comments'),

                    'taxonomies' => array('blog_category', 'blog_tag')
    );
    register_post_type('blog', $args);

}

function my_add_default_boxes() {
// カテゴリ、タグ
register_taxonomy_for_object_type('category', 'blog');
register_taxonomy_for_object_type('post_tag', 'blog');
}


// カスタム投稿タイプ(websites)用のカテゴリ&タグを作成する
add_action('init', 'create_blog_taxonomies');
function create_blog_taxonomies() {
    // カテゴリを作成
    $labels = array(
            'name'                => 'Webカテゴリ',        //複数系のときのカテゴリ名
            'singular_name'       => 'Webカテゴリ',        //単数系のときのカテゴリ名
            'search_items'        => 'Webカテゴリを検索',
            'all_items'           => '全てのWebカテゴリ',
            'parent_item'         => '親カテゴリ',
            'parent_item_colon'   => '親カテゴリ:',
            'edit_item'           => 'Webカテゴリを編集',
            'update_item'         => 'Webカテゴリを更新',
            'add_new_item'        => '新規Webカテゴリを追加',
            'new_item_name'       => '新規Webカテゴリ',
            'menu_name'           => 'Webカテゴリ'        //ダッシュボードのサイドバーメニュー名
    );
    $args = array(
            'hierarchical'        => true,
            'labels'              => $labels,
            'rewrite'             => array( 'slug' => 'blog_cat' )
    );
    register_taxonomy( 'blog_category', 'blog', $args );

}


└上記のようにfunction.phpに記述してカスタム投稿を作成したところ、
投稿→カスタム投稿に記事を移動させた際、記事に設定してあったカテゴリ・タグがリセットされ、カテゴリ・タグが無い状態になってしまった。

行った事(2):投稿にパーマリンク設定で、記事のURLが[www.○○○.com/blog/post-id]になるように設定した。
└wordpress(2)内にある、他のカスタム投稿タイプのページが表示されなくなってしまった。

==============================================

長くなってしまい申し訳ありませんが、お心当たりのある方がいらっしゃいましたら
何卒ご助言頂ければ幸いです。

宜しくお願い致します。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

0

私はそれらのプラグインは使ったことはないのですが、インポート後にカスタム投稿タイプ向けのカテゴリを作り、sql で(今手元に環境がないもので名称の記憶が正確ではありませんが)taxonomy_relationshipテーブルを書き換えるしかないように思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/05/17 16:29

    アドバイス下さったのに確認が遅くなってしまいすみません。
    データベースは確認していなかったので、データベースを見てタクソノミー部分を書き換えたら投稿からカスタム投稿へカテゴリ・タグごと移動することができました。
    function.phpに何か追記しなければいけないのか、プラグインを使って変更できるのかどうかばかり考えていたので盲点でした。
    有難うございました!

    キャンセル

関連した質問

同じタグがついた質問を見る

  • PHP

    20811questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • WordPress

    7419questions

    WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。