Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
這次在幫客戶處理 MW WP Form 的時候,順手新增了一項小功能,未來如果要切換成新的表單時,可以省去重新更改範本檔的困擾。
但是在新增這項功能後,發現表單無法送出,而且當要回去填寫表單時,會再度出現錯誤訊息,無法重新填寫。原先應該呼叫出來的短代碼,也無法發揮作用。這時候只能用固定的方式 echo do_shortcode(‘[mwform_formkey key=”2292″]’); 直接啟用短代碼。
由於前一間製作公司的做法是將短代碼置入於文章編輯器中,並使用 the_content 帶出表單內容,但是後來我們將表單頁的內容改成使用自訂欄位的方式,帶入切好的樣板中。因此這次除錯便將表單的啟用方式改為 the_content。
結果在 Query Monitor 中出現了這樣的警告:
count(): Parameter must be an array or an object that implements Countable
上 Stack Overflow 搜尋了之後,發現問題可能出在沒有初始化 WordPress 的迴圈。檢查了一下範本檔,發現出問題的頁面真的沒有加上迴圈,重新帶入迴圈之後,問題似乎就解決了。至少目前本機沒有問題了。下次真的要注意。
<?php while( have_posts() ) : the_post(); <article> ... $form = get_post_meta( get_the_ID() , '_reservation_id', true); echo do_shortcode( $form ); ?> </article> <?php endwhile; ?>