新規投稿時にAllowed memory size ofエラーが出る
-
初心者ながらエクセルの表をカスタムフィールドのボックスに貼り付けるだけで、
ACFのリピーターフィールドに自動的に値が振り分けて登録されるようにしたくコードを作っています。
(業務目的で品番などを振り分けて登録しておけると便利なため)思ったように動作するようにはできたのですが、
「新規投稿」で公開ボタンを押した時だけAllowed memory size ofエラーが出てしまいます。(250MBぐらい)新しく記事を空で作るか、
リピーターフィールドに空の行を作成した状態で
「更新ボタン」を押した場合はうまく登録され、処理時間もかかっていないので問題ありません。場違いでしたらすみません。
解決に結びつくアドバイスなど頂けたら幸いです。作成したコードは以下になります。
function to_repeater(){ global $post; $post_id = $post->ID; //カスタムフィールドに投稿されたテーブルから値を取得 $str = post_custom('paste_field'); $pattern="/(?<=<tr>).*?(?=<\/tr>)/mis"; preg_match_all($pattern,$str,$matches[0]); $pattern="/(?<=<t[dh]>).*?(?=<\/t[dh]>)/mis"; foreach((array) $matches[0][0] as $val){ preg_match_all($pattern,$val,$matches[1]); $matches[2][]=$matches[1][0]; } //リピーターフィールドに登録させるコード $field_key = "repeater"; $field_value = get_field($field_key, $post_id); $array = $matches[2]; $counter = 0; foreach ((array)$array as $key => $value) { $counter++; if ( $counter >= 2 ) { //2行目以上の値のみ取得(1行目はラベルのため登録しない) $type = $value[0]; $code = $value[1]; $field_value[] = array("type" => $type,"code" => $code); update_field( $field_key, $field_value, $post_id ); } unset($array[$key]); } } add_action('wp_insert_post', 'to_repeater');
3件の返信を表示中 - 1 - 3件目 (全3件中)
3件の返信を表示中 - 1 - 3件目 (全3件中)
- トピック「新規投稿時にAllowed memory size ofエラーが出る」には新たに返信することはできません。