• プラグイン作成を勉強中の初心者です。

    例えば、カスタムフィールドで
    名前:カテゴリ
    値:10
    と登録して、

    wordpress側のカテゴリIDが10のカテゴリへ、記事を公開をした時に自動的に登録されるプラグインを作成中です。
    (公開を押した時点では投稿画面右側の「カテゴリ」項目にはチェックは1つも入れていないものとします。通常であれば、この場合、「未分類」にカテゴライズされますが、そうではなく、カテゴリIDが10のカテゴリへ自動的に登録されるプラグインを作成したいのです)

    Google・既存のプラグインを探したのですが、どうしてもヒントとなるソースもプラグインも見つかりませんでした。

    お手数をおかけしますが、作成のヒントを教えて頂けないでしょうか?
    何卒宜しくお願いします。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • カテゴリ10にデフォルトでチェックを入れたいというのとは違います?
    なんか難しく考えているような気がしますが。上記のような内容でしたら過去ログがあったはずです。

    トピック投稿者 ubshink

    (@ubshink)

    >shokun0803さま
    お返事ありがとうございます!!

    >カテゴリ10にデフォルトでチェックを入れたいというのとは違います?
    違うんですよ。。

    投稿者によって、カスタムフィールドテンプレートを使って、
    ネーム→カテゴリIDと一致
    を選択してもらい、それを更新した際、自動的にwordpressのカテゴリも変更
    されるようにしたいのです。

    案は有りませんか?
    宜しくお願い致します。

    う~ん、いまいちやりたいことが見えてこないのですが・・・理解力が低くてすみません。。

    更新(公開)ボタンを押した時に動作するフックはあります。
    カスタムフィールドの中身をみて何らかのアクションを起こすことも可能です。
    たぶんその投稿記事のカテゴリを書き換えることも簡単です。

    上記のようなことを実際にやっていて、その時の質問がhttp://ja.forums.wordpress.org/topic/3193?replies=14にあります。
    何か参考になりますでしょうか?

    トピック投稿者 ubshink

    (@ubshink)

    >shokun0803さま

    こちらも舌足らずで申し訳ありません。
    また、ご質問にお付き合い頂いて有り難うございます。

    >上記のようなことを実際にやっていて、その時の質問がhttp://ja.forums.wordpress.org/topic/3193?replies=14にあります。

    この記事、以前から拝見しました。

    しかし、$dataの配列の中に、カテゴリーについての配列が含まれていないようなのです。

    $postarr と $post には

    post_category
    の配列が含まれており、苦し紛れに、

    $post[‘post_category’] = array(3);

    $postarr[‘post_category’] = array(3);

    などとして、
    return $post

    return $postarr
    などとしても一向に反映されません。。

    以下は、実際には動かないのですが、試行錯誤の残骸です。
    以下を見て頂ければ、私がしたいことの片鱗をご理解頂けるかもしれません。

    宜しくお願いします。

    <?php
    /*
    Plugin Name: change_cat
    Plugin URI: http://wordpress.org/#
    Description: カテゴリー変更
    Author: shin
    Version: 1
    Author URI: http://hogehoge.jp/
    */

    function change_cat( $data, $postarr ) {

    $post_id = $_POST[‘post_ID’];
    $action = $_POST[‘action’];

    //if(!empty($post_id) && ($action == ‘editpost’) && !current_user_can(‘manage_options’)){

    if(!empty($post_id) && !current_user_can(‘manage_options’)){

    $post = get_post($post_id);
    //print_r($previous_status);
    //print_r($postarr);
    //print_r($post);
    //$last_c = $post->post_content;
    //print($last_c);
    //print($data[‘post_content’]);

    //$post[‘post_category’] = array();
    //$post[‘post_category’] = array(3);
    $post->post_category = array(3);

    //print_r($post);
    //print_r($postarr);
    //$postarr[”]

    }
    return $post;
    }

    add_filter( ‘wp_insert_post_data’, ‘change_cat’, 10, 2 );

    ?>

4件の返信を表示中 - 1 - 4件目 (全4件中)

トピック「カスタムフィールドの値からカテゴリ指定」には新たに返信することはできません。