製造業です。
wordpressで購入実績のある部品やメーカーなどをマスタ管理するためのDBを作成しています。
今まで使っていたDBツールがなくなるため移設が目的です。
使用しているプラグインはAdvanced Custom Fieldsで必要な項目を作成し箱はできています。
データも多いのでReally Simple CSV Importerでデータを取り込んでいます。
今回やりたいことはAdvanced Custom Fieldsで作成した関連というタイプのフィールドにすでに登録されている記事へ関連記事をReally Simple CSV Importerで取り込みたいのです。
[具体的に言いますとメーカマスタを先に登録してしまって、部品マスタを登録させる際にメーカマスタからメーカを選択させたい。このとき関連フィールドの機能を活用したいのです]
Really Simple CSV Importerで普通に関連タイプで作成したカスタムフィールドの名前を入れて関連記事IDをいれてインポートすると下記のようなエラーが出ます
###エラーメッセージ
Warning: end() expects parameter 1 to be array, string given in C:\xampp\htdocs\webdb\wp-content\themes\fsvbasic\content.php on line 114
###試したこと
データ自体はカスタムフィールドの値として記事IDをいれることでちゃんと格納されていました。
1つでもカンマいれて2つ以上でも大丈夫でした。
ただしサイト上で入力したデータをみると関連フィールドの値が表示されるべき場所にエラーメッセージが出てしまっているのです。
とはいえこれを消すのは結構簡単で、編集画面に入るとちゃんと関連フィールドにはCSVでID読み込んだ記事が選択されている状態になっているので更新すれば消えます。
ただ、件数が5000件近くあり編集画面開いて更新、編集画面開いて更新、とぽちぽちやっていくには結構気が遠くなる作業です。
エラーを出さない方法、もしくは一気に更新?のような方法ご存知でしたらおねがいいたします。
###追記 関連フィールドをサイトで表示させているコード
(そもそもこのphpがエラーと言われているのでした。書かなきゃダメでしたね。)
<?php //関連(返り値は「Post Objects」) $kanren = get_field('kanren'); if($kanren){ ?> <?php foreach((array)$kanren as $value) { echo '<a href="'.get_the_permalink($value->ID).'">'.$value->post_title.'</a>'; if ($value !== end($kanren)) { echo ","; } } ?><?php }?>
** if ($value !== end($kanren)) {**
の行がエラー指摘されている
on line 114
です。
↓↓↓↓18.03.12追記↓↓↓↓↓
本件、最近またいろいろ方法を探していましたところ、元のCSVデータのほうを配列をシリアライズ化させるようなことをして格納していらっしゃる方がおられるようです。
自力で理解できないので誰かご存知の方がいるようであれば伺いたく…
http://enjoy-pcworks.com/infotech/wordpress/355
この記事のなかの
「2.データ整形を行うプラグインを作る」
というのはこの下の方に書かれたプログラムに任意の名前をつけてプラグインフォルダに格納して有効化…
なんてことすればReally Simple CSV Importerを動作させたときにかってに動くというようなことなのでしょうか…
すみませんご存知の方、お分かりになる方がいらっしゃいましたらご教授ねがいます。
回答2件
あなたの回答
tips
プレビュー