2016-05-01 7 views
0

こんにちは神、は、「CCC」{[1カテゴリ}のStackOverflowの

は、今私が正しく検索didntの「その男」であることを嫌いフィールドを置き換えけど私は修正が必要で、コーディングスキルが不足しているために解決できる解決法を見つけることができないという問題に遭遇しています。私の知識はほとんど表面をくすぐります。

ここが問題です。

私はwoocommerceproductsとして私のウェブサイト(WP all Import)にフィードをインポートするツールを使用しています。しかし、カテゴリ分類では、フィードサプライヤーはエラーを出しました。私はいつも私がメールに出会うことなく、私が取り組んでいます。

つまり、タイトルにはsatchel、bag、clutchなどの単語が含まれていますが、商品はCSVまたはXMLで「ジュエリー>イヤリング」に分類されています。

インポートツールは、私がノードを指すように、製品カテゴリを検索する場所を私に尋ねてきます{カテゴリー[1]}

しかし、カテゴリが存在しないか、障害が発生するとき、私はそれは、特定のタイトルを確認したいです単語があれば、その単語の値をその単語に変更します。

something like: 

[if ({title[1]}contains "satchel") { 
    category = "bags > satchel", 
} else if ({title[1]} contains clutch) { 
    category = "bags > clutch", 
} else { 
    category = {sub_category[1]} #the normal value if nothing was found 
}] 

私はちょうど一緒に書式を設定する部分を見つけることができません。私はタイトルに特定の単語の存在にのみ基づいてカテゴリを生成するために拡張することができる機能に向かって作業する必要がありますが、多分私はオプションになるより良い得る。

私は問題について明確な視点を示すことができたと思います。 「[]」があるプラグインコードがの代わりに入力することを望む{フィールド名[1]}、下記の別の例では、方法thatsの理由:

次iが修正することができた問題の例であった: スラッシュ "/"をパイプ "|"に置き換える前に、 "0/3months/1/2months"の値を "0-3 months/1-2months"に置き換える必要がありました。 wordpressがそれを別個の値として認識するようにします。

[str_replace("/","|", 
    str_replace("0/3","0-3", 
    str_replace("1/2","1-2", 
     str_replace("3/6","3-6",{size[1]}))))] 

フィールドは、機能を呼び出すために使用できますが、プラグインの 'プロ'バージョンでのみ使用できます。

ご協力いただきありがとうございます。

答えて

2

strposを使用できます。

例:

if (strpos($title, "satchel") !== false) { 
    $category = "bags > satchel"; 
} 
+0

だから私のようなもの記述することができます!(strpos({タイトル[1]}、「ランドセル」)場合 を== { $ category = "bags> satchel"、 } else {(strpos {title [1]}、 "clutch"){ $ category = "bags>クラッチ"、 } else { $ category = {カテゴリ:[1]} } 私は "コード"として編集する方法を知りません – RkdL

+0

はい、それは考えです – segFault

+0

私はこのようなコードを試しました:(strpos {title [1]}、 "Satchel")!== false){ \t $ category = "Tassen> Satchel"、 \t} if(strpos {title [1]}、 (例:strpos {title [1]}、 "Gusset"!== false){ \t $ category = "Tassen" Gusset 」、それ以外の\t \t} {$カテゴリ= {category_path [1]} \t} ] 「 しかし、それはエラーが返さ:予期しない記号を '!' 私はそれがフォーマットの何かであると確信しています。私はもう少し詳しく見てきましたが、私はそれを正しいものにすることはできません。どんな説明も歓迎され、感謝します。 – RkdL

1

だから、チャンスをうかがっものをテストし、そしてPHPに関するたくさん知らないの午後後、私は友人からの助けを借りて解決策を考え出しました。

Wpすべてインポートしますは、フィールド自身から直接カスタムphpを許可しません。しかし、カスタムPHP関数をサポートし、インポート設定ページの下部にこれらのエディタを提供します。メインカテゴリフィールドは我々がメインとして使用する名前を与えられている

[main category] 
+[sub category] 
++[sub sub category] 

:タクソノミに

<?php 


    //Checks Title for keywords and 
    //uses those to create categories 
    //We are using our own Main categories so only 
    //sub and subsub categroies need to be created. 
    //Call function 
    [get_subcat_from_title({title[1]},{category[1]})] 
    //Function 
    function get_subcat_from_title($title,$defaultcat) 
    {  
     if (strpos($title,"Satchel") !== false) { 
      $cat = "Tassen";  
     } elseif (strpos($title,"Travel") !== false) {  
      $cat = "Tassen";  
     } elseif (strpos($title,"Gusset") !== false) {  
      $cat = "Tassen";   
     } else { 
      $cat = $defaultcat; 
     } 
     return $cat; 
    } 


    //Checks Title for keywords and uses those to create subcategories 
    //Call Function 
    [get_subsubcat_from_title({title[1]},{sub_category[1]})] 
    //Function 
    function get_subsubcat_from_title($title,$defaultcat) 
    {  
     if (strpos($title,"Satchel") !== false) { 
      $cat = "Satchel"; 
     } elseif (strpos($title,"Travel") !== false) {  
      $cat = "Travel";  
     } elseif (strpos($title,"Gusset") !== false) {  
      $cat = "Gusset";   
     } else { 
      $cat = $defaultcat; 
     } 
     return $cat; 
    } 

?> 

、タグ、カテゴリーのオプションは、我々はこのような私たち自身の階層順を作成することができます:私は、次のことをやりましたカテゴリー。 サブカテゴリーは、機能SUBCAT で満たされているsubsubカテゴリは、それは私たち自身の名前で親を作成する機能SUBSUBCAT

このように「Tassen」の場合を指名したを満たしていますキーワードがあり、という特定のキーワードがあります。

この方法では、適切なカテゴリが提供されたフィードに存在しない場合、あらゆる種類のステートメントを使用して機能を拡張できます。

感謝します@sebastianForsberg for responsing。

私は、これは将来的に同様の問題に遭遇誰にも役立ちます願っています。..

+0

明日私の答えを選ぶことができます。彼は非常に助けになり、私をstrposの道に留めてくれました:)。入力いただきありがとうございます。 – RkdL

関連する問題