部落格已搬家
部落格搬家到 http://chaneswin.idv.tw/
EMAIL請寄到以下地址:chaneswin [at] chaneswin.idv.tw

目前分類:Wordpress學步車 (9)

瀏覽方式: 標題列表 簡短摘要
函式過不去
沒辦法,只好從SQL資料庫抓了

global $wpdb;
$order_id=$wpdb->get_var( "SELECT order_id FROM {$wpdb->prefix}woocommerce_order_items ORDER BY order_id DESC LIMIT 1" );

文章標籤

Chaneswin 發表在 痞客邦 PIXNET 留言(0) 人氣()

記錄使用 WooCommerce Delivery Slots 的問題
這次的要求是把外掛在結帳頁面的顯示位置改掉
雖然我是在改Slots 這個外掛,不過元素位置的改法應該在很多外掛上道理都是相同的
也就是使用Hook,這個名詞直譯成鉤子,我總算多多少少可以體會了

利用檢查元素找到 id="jckwds_fields"搜尋其所在的PHP頁面以及程式碼位置
( id="你要換位置的元素",不要傻傻照抄哦!)
再由包住它的函式 wds_field_output找到
// Checkout Fields
add_action( 'woocommerce_after_order_notes', array( &$this, 'wds_field_output' ) );

嗯!藉此機會了解一下 add_action 與 hook,
就簡單理解成 add_action 與 do_action要成對使用,
add_action 只是添加動作,do_action才是實際做動作,
這不難理解與記憶

因此接下來就是用 woocommerce_after_order_notes 來搜尋plugins資料夾裡面的全部檔案
看看哪裡有do_action
這才找到 woocommerce 外掛裡面的 do_ation
(plugins\woocommerce\templates\checkout\form-checkout.php)
說起來也蠻妙的,在 Slots 外掛添加動作,卻在woocommerce 外掛做動作
懂了以後覺得沒什麼,不懂的時候應該會頭很大吧

裡面有幾個常用位置可以放,譬如
woocommerce_before_checkout_form
woocommerce_checkout_before_customer_details
woocommerce_checkout_after_customer_details(後來是用這個先頂著)
一直到...
woocommerce_after_checkout_form

因此只要把 wp-content\plugins\jck_woo_deliveryslots\jck_woo_deliveryslots.php 裡面
// Checkout Fields
add_action( 'woocommerce_after_order_notes', array( &$this, 'wds_field_output' ) );
裡面的woocommerce_after_order_notes改掉成要對應的hook就可以了
所以我改成這樣
add_action( 'woocommerce_checkout_after_customer_details', array( &$this, 'wds_field_output' ) );

雖然可惜,事實上我要放的正好都不是這些常用位置...
但常用位置如何放置還是記錄一下

而我就繼續用訂單表格中我所要的運費位置 class="shipping" 去找我的答案,
不能用hook以後,有兩種思維方式,
一種是變更woocommerce裡面可以加hook的地方或直接在 class="shipping"裡面用html動手腳
第二種是變更Slots外掛,
想當然,既然是為了處理這個外掛,用第二種才比較合理

雖然不能輕鬆用hook去改變,但當初輸出html內容是使用echo,
於是我回到輸出內容的函式wds_field_output,
寫在輸出的html之前,利用 jQuery的append把位置調動了
/*更改位置 BEGIN*/
echo '';
echo '';
/*更改位置 END*/

當然如果原本就引入了jQuery的話不用加第一行,不過我的沒抓到jQuery應有的效果,只好多加上去了
卻造成.原本「配送到不同的地址?」控制顯示隱藏的核取方塊失效了
其js行為不起效果,於是我再搜尋「jquery」檢查一遍原始碼,
看到 wp-includes/js/jquery/jquery.js?ver=1.11.0
發覺WordPress裡面引用的應該是 http://code.jquery.com/jquery-1.11.0.min.js
1.11.0這個版本沒有我要的效果,我用的是 http://code.jquery.com/jquery-1.5.min.js
我換掉jQuery,不過...依然失效,
最後我把所有檔案還原回去...還是失效
唯獨漏掉了...jquery.js
討論時說了,先換回去原本版本吧
於是把版本換回去...
原來...WordPress 的 jQuery不能亂換版本...
亂換版本會出事,至少Woocommerce 會出事


原本想說同理可以做隱藏顯示,我的方法是加上onCLick動作

配合


但是
在Woocommerce 裡面
不想動 Woocommerce 所以作罷
另外一個問題是,其實舊版的jQuery也無法讓我做到這個效果
至此,在js方面先打住

參考資料:
WordPress的Hook機制與原理
文章標籤

Chaneswin 發表在 痞客邦 PIXNET 留言(0) 人氣()

關於配合 Woocommerce增加運送日期的外掛很多
譬如 DeMomentSomTres Woocommerce Delivery (我還沒有找到他的效果出現在哪?)
Order Delivery Date for Woocommerce (很單純在結帳頁面增加配送日期的選擇欄位,訂單內是用自訂欄位達成)
這兩個都直接在 WordPress裡面搜尋外掛就可以找到了

至於下面這兩個外掛則是要付費的
Woocommerce Delivery Time Picker for Shipping
WooCommerce Delivery Slots

外賣外送與店內自取,在思考時間掌握方面是有一些差別,譬如外送的也許有限定時段,像人手不足的這些時段其實就不可能外送,而到店自取只要東西做好了放在那隨時要來拿東西都可以。此反映到製作網站的考量,當運送方式選為外送,就必須限定特定時間點(餐廳訂位也是),這兩個外掛比起剛才的免費外掛,多的就是時間區段,第一個讓客人可以選一段時間,我個人認為這很適合用在貨運,讓客人選擇方便在家收取物品的時間;至於第二個 Slots,在外掛檔案有說明可以用於餐廳訂位。比起第一個外掛器能夠選擇一段時間,這第二個外掛Slots則可以選擇多個時間段 。

Slots這外掛,可以在網頁放上訂位表,登錄後的客人可以先「臨時」訂下一個時段再來填訂單結帳(可設定有效時間),如果這「臨時」訂滿了,那就只剩下有按下臨時預訂的人在結賬時可以選這個時段,沒有先使用臨時預訂的帳號在結帳時就看不到這這個時段,也就選不到了的人,這個外掛是支援多人在線,才不至於功能造成混亂。後台的Currently Reserved可以看見臨時預訂人數,Upcoming Deliveries也可以看到已經實際下訂的單子。
文章標籤

Chaneswin 發表在 痞客邦 PIXNET 留言(0) 人氣()

在WordPress親愛的預設Theme 2014看不見的問題
就是radio button(核取按鈕)的重疊
合理推斷原因是該theme的CSS在那些 li 的優先層級比較高
但對於一些minimal的主題可就要自己到woocommerce 外掛裡面的CSS改了
文章標籤

Chaneswin 發表在 痞客邦 PIXNET 留言(0) 人氣()


文章/新增文章

在右側的【立刻發表】右邊按下【編輯】

變更時間日期後按下【確定】,原本的發表就會變成排程

按下【排程】



如果排程失敗,是因為wordpress默認發布文章的時間太短

可更改wp-includes資料夾底下的cron.php文件。
搜尋”timeout”,將代碼後面的數值0.01改成10.00延長默認發布時間

P.S.如果pixnet要預約發文的話直接在發表時改上面的文章日期,未來的文章在文章列表的日期會是紅色

參考文章:
wordpress內建功能-文章定時(預約)發布失敗該怎麼處理(一)
文章標籤

Chaneswin 發表在 痞客邦 PIXNET 留言(0) 人氣()



AG Custom Admin
安裝後會出現在工具選單底下,
變更後台LOGIN與ADMIN,比起只能變更選單的Admin Menu Editor當然有更多選項,
由於是免費的,在多站台使用上立刻把White Label Branding for WordPress打下去,
儘管在LOGIN部分的變化沒有White Label Branding for WordPress多,但常見而中規中矩的調整已經足夠


文章標籤

Chaneswin 發表在 痞客邦 PIXNET 留言(1) 人氣()

1. 下載wordpress檔案(到這裡載)解壓縮後上傳
2. 安裝時出現:Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 7680 bytes) in ...
因此改用上傳config,確認裡面包含
define('WP_MEMORY_LIMIT', '64M');//解決memory的問題
define('WP_ALLOW_MULTISITE', true);//允許multisite
遇到快取問題則define('WP_CACHE', true); //設成true

P.S.另外一個解法是說memory的問題要到/wp-includes/default-constants.php修改
搜尋【// set memory limits】大約在18~25行

if ( !defined('WP_MEMORY_LIMIT') ) {
if( is_multisite() ) {
define('WP_MEMORY_LIMIT', '128M');
} else {
define('WP_MEMORY_LIMIT', '64M');
}
}


3. 因為不能改php.ini,透過上傳.htaccess解決記憶體問題,第一行是:php_value memory_limit 64M

【更新】如果加上這行字以後跑出500 Internal Server Error,很可能你的虛擬主機是可以改 php.ini 的
若 ini 檔只放在wordpress的安裝目錄還不行,就再複製一個 ini 到wp-admin目錄
我後來租用Webhosting World的虛擬主機,找線上即時客服解決的,底下是參考內容,用了 ini 的話上面步驟都可以不用做...
disable_functions =
safe_mode = Off
memory_limit = 256M
output_buffering = Off
upload_max_filesize = 200M
post_max_size = 200M
magic_quotes_gpc = Off
display_errors = Off
date.timezone="America/New_York"
open_basedir = Off
allow_url_fopen = On

4. 應該能順利安裝wordpress了,安裝完畢還不是Multisite
5. 啓用Mu功能;工具/啓用網誌網路,依照指示備份後修改config.php以及.htaccess檔案
6. 安裝並啟用外掛:網誌網路管理/外掛/網誌網路啟用
7. 安裝並啟用佈景theme:網誌網路管理/外觀/佈景主題/網誌網路啟用
8. 外掛/網誌網路啓用
9. 新增網誌:網誌網路管理/控制台/建立一個新網誌
10. 連不到新網誌:從cpanel→Domains /simple DNS Zone Editor→新增A記錄

==================================
20140923更新
安裝 WooCommerce 外掛後無法啟用
依舊找了Webhosting World的線上客服
後來發現他在我的安裝目錄加上 php.ini
內容如下:
safe_mode = Off
memory_limit = 128M
display_errors = On
disable_functions =
==================================

其它問題:

**
因為WP的設備安裝目錄是www目錄,如果沒有www目錄,就無法安裝

只要在wp-config.php檔案加入以下文字即可(要加在最下面喔):

意思如下:

FTP_BASE:為你的 Worpress 安裝的根目錄。

FTP_CONTENT_DIR:為你的 Worpress 內容安裝的目錄。

FTP-PLUNGIN_DIR:為你的 Worpress 外掛安裝的根目錄。

FTP_THEMES_DIR:為你的 Worpress 主題安裝的根目錄。

FS_METHOD:為安裝的方法**/

define('FTP_BASE', 'public_html');

define('FTP_CONTENT_DIR', 'public_html/wp-content');

define('FTP_PLUGIN_DIR', 'public_html/wp-content/plugins/');

define('FTP_THEMES_DIR', 'public_html/wp-content/themes/');

define('FS_METHOD', 'direct');

引用自:http://blogger-script-study.blogspot.com/2010/08/wordpress-content-wp-content.html


關於網址:

【超省錢架站法7】如何設定WordPress的固定網址? by 香腸炒魷魚

建議先把 htaccess 權限設定為777後再去改 Permalink ,改完後再設定回 644 。嗯..看起來很有道理,先記住!



如何開啟顯示FTP隱藏檔?(.htaccess)也是需要知道的

文章標籤

Chaneswin 發表在 痞客邦 PIXNET 留言(0) 人氣()

把blog改成store
但是非常不建議這麼做....
誰知道要用外掛時會發生什麼事

Chaneswin 發表在 痞客邦 PIXNET 留言(0) 人氣()

其實我從無名網誌脫逃到pixnet很久了...
而且是在無名關閉備份功能前就已經落跑了,
只剩下相簿還用,就放不重要的東西(譬如贈送什麼的用來在PTT分享照片)
無名公告
雖然要備份的照片不到20張 ,還是等打包吧,值得注意的是新網址對應服務
這個建議一定要申請一下,不管是轉到新相簿或者新網址都好啊~

現在在pixnet每發一兩篇文就備份一次XD...
之前有測試自架wordpress...
文章標籤

Chaneswin 發表在 痞客邦 PIXNET 留言(0) 人氣()

找更多相關文章與討論