• 解決済 adultjapanxyz

    (@adultjapanxyz)


    自宅サーバーで、Windows7 64bit Apache2.4.18

    php5.6.16、Wordpress4.4.1 twentyfourteenの最新版を使用中で

    auto_set_categoryというプラグインを使用中以下のエラーがでるようになりました

    Notice: Undefined offset: 0 in C:\Users\xxxxxxx\Desktop\xxxxxxx\wordpress\wp-content\plugins\auto-set-category\auto-set-category.php on line 35

    これはauto-set-category.phpをどのように記述し直せばエラーがでなくなりますでしょうか?

    以下コードになります

    <?php
    /*
    Plugin Name:Auto Set Category
    Plugin URI:http://milkveil.com/
    Description:本文中にカテゴリーと同じ文字列があった場合、そのカテゴリーをセットするプラグイン。
    Version:1.0
    Author:taku-k
    Author URI:http://milkveil.com/
    */

    function auto_set_category ( $post_id ) {
    global $post;
    $new_post = get_post( $post_id );
    $content = $new_post->post_content;

    /* ループ開始 全てのカテゴリーを1つ1つ調べる */
    $cat_all = get_terms( “category”, “fields=all&get=all” );
    foreach($cat_all as $value):

    /* もし本文にカテゴリーと同じ文字列があれば(デフォのカテゴリーを外してから)カテゴリーを付ける */
    if ( stripos( $content, $value->name ) !== false ) {
    wp_remove_object_terms( $post_id, 1, ‘category’ );
    wp_add_object_terms( $post_id, $value->name, ‘category’ );
    }

    /* もし本文にカテゴリーと同じ文字列が無い時はカテゴリーを外す */
    else { wp_remove_object_terms( $post_id, $value->name, ‘category’ ); }

    endforeach;
    /* ループ終了 全てのカテゴリーを1つ1つ調べる */

    /* もしカテゴリーが1つも無かったらエラーになるからデフォのカテゴリーを付ける */
    $catcheck = get_the_category($post_id);
    if ( is_array($catcheck) && is_null($catcheck[0]) ) {
    wp_add_object_terms( $post_id, 1, ‘category’ );
    }
    }
    add_action( ‘save_post’, ‘auto_set_category’ );

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • モデレーター Daisuke Takahashi

    (@extendwings)

    https://teratail.com/questions/24842 と同じでしょうか?

    35行目を見ると、コード中のコメントから考えて明らかにおかしい記述があります。
    WordPress.orgで配布されていないプラグインについてのサポートフォーラムではないので詳しくは自分で考えてみてください。

    トピック投稿者 adultjapanxyz

    (@adultjapanxyz)

    Daisuke Takahashiありがとうございます

    トピック投稿者 adultjapanxyz

    (@adultjapanxyz)

    Daisuke Takahashiさんありがとうございます

    上記のリンク参考になりました

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「プラグインエラーについて」には新たに返信することはできません。