WordPress3.21で、Subscribe2(6.4 )というメルマガ発行のプラグインで、

カスタム投稿タイプ、タクソノミーからメルマガ発行ができません。 
投稿ではできるのですが。 何か記入方法はありますか?

英語が苦手ですが、プラグインのサイトでfunction.phpへ 下記を記入しましたが
動きませんでした。

function my_taxonomy_types($taxonomies) {
// where 'my_taxonomy_type' is the name of your custom taxonomy
$taxonomies[] = 'タクソノミ-名';
return $taxonomies;
}

よろしくお願いします。
add_filter('s2_taxonomies', 'タクソノミ-名');

回答の条件
  • 1人10回まで
  • 13歳以上
  • 登録:2011/08/20 01:21:27
  • 終了:2011/08/27 01:25:03

回答(0件)

回答はまだありません

  • id:rouge_2008
    未確認ですのでコメントで失礼します。

    参考にしたのは以下のページでしょうか?
    http://subscribe2.wordpress.com/2011/06/06/subscribe2-and-custom-taxonomy-types/

    「add_filter('s2_taxonomies', 'タクソノミー名')」ではなくて「add_filter('s2_taxonomies', '関数名')」ですので、そのまま記述すればいいはずです。

    function my_taxonomy_types($taxonomies) {
    // where 'my_taxonomy_type' is the name of your custom taxonomy
    $taxonomies[] = 'タクソノミー名';
    return $taxonomies;
    }
    add_filter('s2_taxonomies', 'my_taxonomy_types');

    ※「タクソノミー名」には、登録済みのタクソノミー名を記述します。


    http://wpdocs.sourceforge.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/add_filter

    http://www.odysseygate.com/archives/1620

    http://wpdocs.sourceforge.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/register_taxonomy
  • id:rouge_2008
    カスタムタクソノミーの選択に関係なく、任意のカスタムポストタイプの記事すべてを、subscribe2でメルマガ送信されるようにしたい場合は、以下のコードをfunction.phpに記述してみてください。


    function my_post_types($types) {
    $types[] = 'カスタムポストタイプ名';
    return $types;
    }

    add_filter('s2_post_types', 'my_post_types');


    ※上記コメントおよび今回のコードは、カスタムポストタイプやカスタムタクソノミーの登録の記述よりも後ろに記述するようにしてください。


    http://subscribe2.wordpress.com/2011/02/28/subscribe2-and-custom-post-types/
  • id:Becky_moni
    毎度ありがとうございます。
    カスタムポストタイプの記事すべてでしたので、教えて頂いたように、後ろに記述しました。

    function my_post_types($types) {
    $types[] = 'option_postype';  //optionを記入
    return $types;
    }
    add_filter('s2_post_types', 'my_post_types');

    カスタム内容です。
    /** カスタム投稿タイプの追加 */
    add_action( 'init', 'option_postype' );
    function option_postype() {
    $labels = array(  ‥略 ‥
    register_post_type( 'option', $args); //
    }

    でもsubscribe2はカスタム投稿タイプには追加されません。
    記述を'option'にもしてみましたが同じように追加はされません。

    なにか設定をいじる場所が他にあるのでしょうか?
    設定→subscribe2 と ツール→メルマガ読者  ユーザ→読者設定画面は見ています。
  • id:rouge_2008
    投稿を作成して「公開」を実行してみたでしょうか?
    Subuscribe2の設定画面には、追加したカスタム投稿タイプは表示されませんが、記事を投稿すると指定したフォーマットでメールが送信されます。

    ※特に設定は変更していませんが、私の方でも最初は送信されませんでした。
    適当に設定変更(通常ポスト用のカテゴリーにチェック)してみましたが、送信されなかったと思います。
    カスタムタクソノミーのSubscribe2への追加で、Subscribe2の設定画面への反映、およびメール送信が出来る事を確認後、Subscribe2の設定をリセット、カスタムタクソノミーの追加用コードを削除しても送信されるようになったままです。



    ※コードの順番は以下のようになっていますか?

    /** カスタム投稿タイプの追加 */
    function option_postype() {
    $labels = array(  ‥略 ‥
    register_post_type( 'option', $args); //
    }
    add_action( 'init', 'option_postype' );

    function my_post_types($types) {
    $types[] = 'option';  //optionを記入
    return $types;
    }
    add_filter('s2_post_types', 'my_post_types');
  • id:rouge_2008
    「ユーザー」→「Your Subscriptions(読者設定画面?)」を設定変更する必要があるようです。(※設定変更するには、カテゴリを最低一つ選択する必要があります。)
    「Automatically subscribe me to newly created categories」は、「Yes」「No」どちらでも良いようです。
    新規登録ユーザーについても同様でしたので、既存ユーザーについてもおそらく設定変更が必要だと思います。
    ※「ツール」→「Subscribers」からまとめて設定変更可能かもしれません。(未確認)


    カスタム投稿タイプを追加する方法の場合、購読解除が出来ないようですので、購読カテゴリをユーザーに選択させたい場合は、カスタムタクソノミーをSubscribe2に追加した方が良いようです。
  • id:Becky_moni
    rougeさん カスタム投稿タイプから記事を作成しましたが、やはり反映できておりません。
    書き方が悪いのかいまいちわかっておりません。
    下記 記述です。
    /** カスタム投稿タイプの追加 */
    add_action( 'init', 'option_postype' );
    function option_postype() {
    $labels = array(
    ‥略 ‥
    );
    $args = array(
    ‥略 ‥
    register_post_type( 'option', $args);
    }

    /**タクソノミーの設定 */
    register_taxonomy(
    'option-cat', // タクソノミーの名前
    ‥略 ‥
    );

    /**subscribe2 カスタムポストタイプ */
    function my_post_types($types) {
    $types[] = 'option';
    return $types;
    }
    add_filter('s2_post_types', 'my_post_types');

    ユーザー → 読者設定画面では  新しく出来たカテゴリーの記事を自動的に受信する。 YES
       受信するカテゴリ には optionで作成したカテゴリーは表示されていません。
    ツール → メルマガ読者 にも新しくカテゴリーはできていません。
  • id:rouge_2008
    カスタム投稿タイプの記事投稿ページに、関連付けたカスタムタクソノミーの選択ボックスは表示されていますか?
    表示されていない場合、次の順番で作成しなおしてみてください。(※コードの記述もこの順番になります。)


    ・カスタム投稿タイプ作成
    http://www.odysseygate.com/archives/1624

    // カスタム投稿タイプを作成
    // create custom post type
    function 実行する関数名1() {
    $labels = array(
    'name' => 略~
    );
    $args = array(
    'labels' => $labels,
    略~
    );
    register_post_type('カスタムポストタイプ名',$args);
    }

    add_action('init', '実行する関数名1');



    ・カスタムタクソノミー作成
    http://www.odysseygate.com/archives/1620

    // カスタムタクソノミーを作成
    // create custom taxonomy
    function 実行する関数名2() {
    register_taxonomy(
    'カスタムタクソノミー名',
    '作成したカスタムタクソノミーを表示するカスタムポストタイプ名',
    array(
    略 ~
    )
    );
    }
    add_action('init', '実行する関数名2', 0);



    ・カスタム投稿タイプの投稿画面に、カスタムタクソノミーの選択ボックスが表示されていたら、さらに以下を追加してSubscribe2にカスタムタクソノミーを追加

    http://subscribe2.wordpress.com/2011/06/06/subscribe2-and-custom-taxonomy-types/

    function 実行する関数名3($taxonomies) {
    $taxonomies[] = 'カスタムタクソノミー名';
    return $taxonomies;
    }
    add_filter('s2_taxonomies', '実行する関数名3');
  • id:Becky_moni
    申し訳ないです。どうしても動かないので全文を書きます。
    //■これを追加 は追加した部分ですが、追加することで動かなくなってしまいました。
    ■は表記できないのでマスクしてます。
    また、カスタム投稿はこの他にもう一つと タクソノミーももう一種入っていて
    利用しております。
    add_action( 'init', 'column_postype' ); //カスタム1種
    register_taxonomy(
    'column-cat', // タクソノミー一種




    /** カスタム投稿タイプの追加 */
    function option_postype() {
    $labels = array(
    'name' => 'オプション',
    ‥略 ‥
    'parent_item_colon' => '',
    );
    $args = array(
    'label' => __('オプション'),
    'labels' => $labels,
    'public' => true,
    'publicly_queryable' => true,
    'menu_position' => 5,
    'supports'=> array('title', 'thumbnail', 'excerpt', 'editor','author' ) ,
    'taxonomies' => array( 'option', 'post_tag'),
    'has_archive' => 'true'
    );
    register_post_type( 'option', $args);
    }
    add_action( 'init', 'option_postype' );


    /**タクソノミーの設定 */
    function option_tax() {  //■これを追加
    register_taxonomy(
    'option-cat', // タクソノミーの名前
    'option', // 投稿タイプ設定する
    array(
    'hierarchical' => true, // 親子関係が必要なければ false
    'update_count_callback' => '_update_post_term_count',
    'label' => 'カテゴリー',
    'singular_label' => 'カテゴリー',
    'public' => true,
    'show_ui' => true
    )
    );
    add_action('init', 'option_tax', 0); //■これを追加

    /**タクソノミーの設定 */
    register_taxonomy(
    'souba-cat', // タクソノミーの名前
    'option', // 投稿タイプ設定する
    array(
    'hierarchical' => true, // 親子関係が必要なければ false
    'update_count_callback' => '_update_post_term_count',
    'label' => '■',
    'singular_label' => '■',
    'public' => true,
    'show_ui' => true
    )
    );

    /**subscribe2 カスタムポストタイプ  */
    function my_post_types($types) {
    $types[] = 'option';
    return $types;
    }
    add_filter('s2_post_types', 'my_post_types');
  • id:rouge_2008
    > //■これを追加 は追加した部分ですが、追加することで動かなくなってしまいました。

    以下のスペースが半角ではなく全角になっているためにエラーになっているようです。

    /**タクソノミーの設定 */
    function option_tax() {  //■これを追加

    スペースを半角にすると動作すると思います。

    /**タクソノミーの設定 */
    function option_tax() { //■これを追加


    それから「function option_tax() {」の閉じタグがないようです。
    「function option_tax() {」の中で、「register_taxonomy(」の処理を2つ記述した後で関数を閉じます。
    その後で「add_action('init', 'option_tax', 0); //■これを追加」を記述します。


    /**タクソノミーの設定 */
    function option_tax() { //■これを追加
    $labels = array(
    'singular_name' => 'カテゴリー',
    );

    register_taxonomy(
    'option-cat', // タクソノミーの名前
    'option', // 投稿タイプ設定する
    array(
    'hierarchical' => true, // 親子関係が必要なければ false
    'update_count_callback' => '_update_post_term_count',
    'label' => 'カテゴリー',
    'labels' => $labels,
    'public' => true,
    'show_ui' => true
    )
    );

    $labels = array(
    'singular_name' => '■',
    );

    register_taxonomy(
    'souba-cat', // タクソノミーの名前
    'option', // 投稿タイプ設定する
    array(
    'hierarchical' => true, // 親子関係が必要なければ false
    'update_count_callback' => '_update_post_term_count',
    'label' => '■',
    'labels' => $labels,
    'public' => true,
    'show_ui' => true
    )
    );
    }
    add_action('init', 'option_tax', 0); //■これを追加



    それから、以前参照ページとして紹介したページでも間違えているようですが、正しくは「singular_name」は「labels」の配列キーなので、その部分の記述も変更してあります。
    ※Becky_moniさんが「singular_label」と記述している部分です。


    http://wpdocs.sourceforge.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/register_taxonomy

    http://varl.jp/note/create-custom-taxonomy



    それからカスタム投稿タイプの以下の部分いついてですが、「option」というカスタムタクソノミーも作成済みなのですか?


    'taxonomies' => array( 'option', 'post_tag'),


    http://wpdocs.sourceforge.jp/%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E5%88%86%E9%A1%9E



    Subscribe2の設定画面へのカスタムタクソノミーで作成したカテゴリー表示ですが、上でもコメントしましたが、カスタム投稿タイプをSubscribe2に追加しても表示されません。
    カスタムタクソノミーで作成したカテゴリーを設定画面に表示したい場合は、カスタムタクソノミーを追加してください。

    function adds2_mytaxonomy($taxonomies) {
    $taxonomies[] = 'カスタムタクソノミー名1';
    $taxonomies[] = 'カスタムタクソノミー名2'; //2つ目を登録する場合です。
    return $taxonomies;
    }
    add_filter('s2_taxonomies', 'adds2_mytaxonomy');
  • id:Becky_moni
    rougeさん感謝しております。
    全角 閉じタグ 失礼しました。

    お話頂いた処理をしました。
    下記の行ですが、いいえoptionというタクソノミはありませんので1行 削除しました。
    'taxonomies' => array( 'option', 'post_tag'),

    また、タクソノミ−の追記も行いました。
    この状態でoptionカスタムから新規投稿することで、メルマガが配信ができるようになりました。
    記述ミスだったり、知らない記述書いていたせいでご迷惑かけてしまいました。

    メルマガの配信ができるようになりましたが、投稿の記事で下記のボタンがまだ出ていないため、
    送信の自由がきかないのですが、これは他の設定なのでしょうか?

    Subscribe2 通知設定
    この記事/ページを読者にメール通知をしない場合はチェックを入れてください。

    でも動くことが確認できましたので少しは前進できました。
    labels 配列も一応理解できてきました。
  • id:Becky_moni
    追記です。
    カスタム投稿タイプが合計二つ
    タクソノミ−が1つと2つの合計三つになりますが
    記述は一番最後にまとめて行ってもいいのでしょうか?
    これで表示はできております。
    /** subscribe2 カスタムポストタイプ */
    function my_post_types($types) {
    $types[] = 'option'; //カスタム1
    $types[] = 'column';//カスタム2
    return $types;
    }
    add_filter('s2_post_types', 'my_post_types');

    /** subscribe2 カスタムタクソノミーへ追加  */
    function adds2_mytaxonomy($taxonomies) {
    $taxonomies[] = 'option-cat'; //カスタム1のタクソノミ−
    $taxonomies[] = 'souba-cat'; //2つ目を登録
    $taxonomies[] = 'column-cat'; //カスタム2のタクソノミ− 3つ目を登録
    return $taxonomies;
    }
    add_filter('s2_taxonomies', 'adds2_mytaxonomy');
  • id:rouge_2008
    > メルマガの配信ができるようになりましたが、投稿の記事で下記のボタンがまだ出ていないため、
    > 送信の自由がきかないのですが、これは他の設定なのでしょうか?


    こちらでもカスタム投稿タイプの投稿画面には表示されていませんでした。
    通常の投稿または固定ページで表示される仕様なのだと思います。
    プラグインのスクリプト(subscribe2.phpの3400行目以降)を直接以下のように編集してみてください。

    /**
    Create meta box on write pages
    */
    function s2_meta_init() {
    add_meta_box('subscribe2', __('Subscribe2 Notification Override', 'subscribe2' ), array(&$this, 's2_meta_box'), 'post', 'advanced');
    add_meta_box('subscribe2', __('Subscribe2 Notification Override', 'subscribe2' ), array(&$this, 's2_meta_box'), 'page', 'advanced');
    add_meta_box('subscribe2', __('Subscribe2 Notification Override', 'subscribe2' ), array(&$this, 's2_meta_box'), 'option', 'advanced'); // ここをoption用に追加
    add_meta_box('subscribe2', __('Subscribe2 Notification Override', 'subscribe2' ), array(&$this, 's2_meta_box'), 'column', 'advanced'); // ここをcolumn用に追加
    } // end s2_meta_init()



    > カスタム投稿タイプが合計二つ
    > タクソノミ−が1つと2つの合計三つになりますが
    > 記述は一番最後にまとめて行ってもいいのでしょうか?

    はい、大丈夫です。
    Subscribe2への投稿タイプまたはカスタムタクソノミーの追加は、それぞれまとめて行う事ができます。

    カスタム投稿タイプの作成自体も、カスタムタクソノミーの追加「register_taxonomy()」と同様に、一つの関数の中で「register_post_type()」を複数記述して行う事ができます。
  • id:Becky_moni
    rouge_2008さん
    回答有り難うございます。

    ボタン設定もばっちり表示され配信することができるようになりました。
    本当に有り難うございます。
    よく subscribe2.phpの設定も分かっているかと関心してしまいました。

    今回もこんな初心者ですが面倒みていただき、本当に感謝しております。
    これをもって、subscribe2も閉じようと思います。
    ありがとうございました。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません