寫教學的最大目的是教會未來的自己

Wordpress教學

wordpress 修改首頁的文章顯示方式

參考資料 http://pangbu.com/get_template_part/

最近因為一些緣故,又要做wordrpess 網站

首先最大的麻煩是首頁的文章排列方式

 

修改的方法

外觀->主題編輯器

選擇你現在使用的主題,如果不能存檔,請先進到FTP裡修改檔案存取權限

首頁 修改是在 index.php,請仔細看內容

會找到

<?php while ( have_posts() ) : the_post(); ?>
		<?php get_template_part( 'content', get_post_format() ); ?>
<?php endwhile; ?>

這種東西

裡面總共出現了四個function

have_posts() 這個很好懂吧,有沒有文章

the_post () 這個應該是把文章取出一篇

get_template_part() 這個就是我們今天的重點了,這個變數目的是在 讓接下來的文章顯示可以有多種不同選擇

 

get_template_part($a,$b) 有兩個變數,簡單來說就是,執行後 系統會去選擇$a-$b.php 這個檔案去執行接下來的內容

而get_post_format()就是 依照文章格式,這是在你PO文的時候選擇的,如果你選標準就是啥都沒有

接下來 就是去找其他檔案的內容了

 

接下來我已我用 artisteer 產生的佈景主題為例

首頁的內容 會使用到content.php 這個檔案

    global $post;
    theme_post_wrapper(
        array(
                'id' => theme_get_post_id(),
                'class' => theme_get_post_class(),
                'thumbnail' => theme_get_post_thumbnail(),
                'title' => '<a href="' . get_permalink( $post->ID ) . '" rel="bookmark" title="' . strip_tags(get_the_title()) . '">' . get_the_title() . '</a>',
        'heading' => theme_get_option('theme_'.(is_single()?'single':'posts').'_article_title_tag'),
               'before' => theme_get_metadata_icons( 'date,author,edit', 'header' ),
               'content' => theme_get_excerpt(),
               'after' => theme_get_metadata_icons( 'category,tag,comments', 'footer' )
        )
    );

而這裡就是把資料放進array中到接下來的wrapper.php檔案中使用

依照之前的code 我們知道會執行theme_post_wrapper()

 

而這支佈景主題的作法是,一個公版,但是在前一個步驟你沒放資料進來就不會顯示內容

 

好 理解了應該就很好修改

要修改有兩種方法

比較簡單的

修改content.php 把不要的註解掉,這個最簡單,但是有可能影響到其他地方

比較複雜的,仿造從寫一個,從index.php開始修改,這樣改比較刺激XD

 

Post to Twitter Post to Plurk Post to Facebook Send Gmail

wordpress statpress 不正常運作

昨天接到總務處的通知,網站的流量統計出了問題….他停止運作了

 

WTF 這怎麼回事呢? 在那之前我好像只有修改過 log 設定 和佈景主題阿…..

好吧 去檢查LOG…..正常運作阿…佈景主題…..不太可能阿

 

不管了 先下個備份指令

這時我發現原因了

系統回報 有兩個table 出現錯誤,這剛好是statepress 運作的table (因為總務處網站是 MU的 所以會有多個)

我在網路上找了一些方法

 

以下是我的解決方法

  1. 打開phpMyAdmin
  2. 進入資料表清單 勾選要修復的
  3. 在底下有個拉霸 選擇修復列表
  4. 搞定收工

基本上它就會正常運作了

Post to Twitter Post to Plurk Post to Facebook Send Gmail

wordpress 更新注意事項

昨天 我更新wordpress 3.4版本的時候出了一些問題(後臺會一直顯示資料庫要更新,但我已經是ubuntu的最新版了阿…,而且符合 wordpress 的要求)

最後去檢查errpr Log 終於找出原因

問題是出在 DB快取上

我的網站有使用DB 快取功能,這可能導致在更新後 產生矛盾

建議 在更新前 把這類外掛關閉

也建議在安裝版本更新前 先做備份

Post to Twitter Post to Plurk Post to Facebook Send Gmail

wordpress 網站更新小小警訊

今天在替 學校總務處傳更新時,出現了嚴重的問題

就是因為 網站的擁有者 是 apache,但是更新時使用的是 另一個使用者的ftp 帳號

導致在更新時因為權限問題無法成功

網站因此而崩壞

當然 只要重新去官方網站下載,並且修正了 網站擁有者,就可以回復了

 

在這裡建議要更新wordpress 時,先做好網站備份比較保險

且透過自動更新的網友們,請宣確定檔案擁有者是你的ftp 帳號

Post to Twitter Post to Plurk Post to Facebook Send Gmail

網站備份 shell script 篇 FTP 版本

最近因為工作關係,同時要撰寫一個自動備份的shell script 透過crontab 的排成 定期替網站備份

然而我在今天發現一個令人恐怖的事情,就是我忽略的ftp 的傳輸方式有兩種(一個已經執行半年的腳本….他出錯了…)

一種是專門傳送純文字檔的ASCII 模式和 其他用的binary模式。

這兩種方式的最大差别在於ASCII 是一次一個byte 再傳送,接收端接收到後再重新組合,你可以想像成對方也開個空白檔案,在一個字一個字抄過去,那這有什麼問題呢?就是 再換行符號這種地方,會因為不同OS 的設定不同的情況下,做不同的轉換,這就有可能造成檔案變質的問題,而對於壓縮檔來說…..就真的很慘….。

那用 binary傳送文字檔呢?….定多就是換行的地方掛掉而已XD

 

以下是 經過修正後的腳本

也請大家保留 授權聲明

#!/bin/sh
# Copyright (c) 2012 Chong-Po Liao (pupuliao@gmail.com)
#
#  This file is free software: you may copy, redistribute and/or modify it
#  under the terms of the GNU General Public License version 3 as published
#  by the Free Software Foundation.
#
#  This file is distributed in the hope that it will be useful, but
#  WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
#  General Public License for more details.
#
#  You should have received a copy of the GNU General Public License
#  along with this program.  If not, see 
#
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
echo 'back up start....'
t=$(date +%Y%m%d)
mysqldump -u帳號 -p密碼 資料庫名稱 > 網站位置/DB.sql
tar zcfp 壓縮檔的位置/webBackUp_$t.tar.gz  網站位置

cd 壓縮檔存放的資料夾位置

ftp -in FTPIP << !
user 帳號 密碼
binary
cd 要放的位置
put webBackUp_$t.tar.gz

quit
!

echo 'done..'

Post to Twitter Post to Plurk Post to Facebook Send Gmail

DB Cache Reloaded Fix 一個wordPress的 加速軟體

是這樣說嗎?

基本上它是一款 透過快取的方式,減少系統對MYSQL 的執行次數,依照說明,對於 高流量的網站十分有用

我的網站沒多少人,所以不知道效果XD

 

因為我在安裝時 出了點問題,所以 在這邊界少 解決方案,方法是別人找到的(http://wordpress.org/support/topic/plugin-db-cache-reloaded-fix-installation-problem-caching-cant-be-activated)

 

安裝的方式

1. 在外掛的地方 搜尋DB Cache Reloaded Fix 並且安裝,啟動她

2. 進入設定裡面去開啟她,如果有出現紅色的錯誤在繼續以下的步驟

3. 在這裡原作有一些bug,就是 她顯示的錯誤點和真正的錯誤點不同,要先經過下列的修改方式

3-1 開啟 外掛中的db-cache-reloaded.php

3-2  把275行的

_e('Caching can\'t be activated. Please chmod 755 wp-content/db-cache-reloaded-fix/cache folder', 'db-cache-reloaded');

改成

_e('Caching can\'t be activated. Please chmod 755 the folder ' .DBCR_CACHE_DIR. '
If that doesn\'t work, you might need to use chmod 775 or chmod 777 instead.
You may also need to copy ' .DBCR_PATH. '/db.php to ' .WP_CONTENT_DIR. '/db.php and chmod it 755 (or 775 or 777).', 'db-cache-reloaded');

3-3 把420行的

_e('Settings can\'t be saved. Please chmod 755 file config.ini', 'db-cache-reloaded');

改成

_e('Settings can\'t be saved. Please chmod 755 the file ' .WP_CONTENT_DIR. '/db-config.ini
If that doesn\'t work, you might need to use chmod 775 or chmod 777 instead. You may need to create an empty file of that name first.', 'db-cache-reloaded');

 

4. 剛剛是修正顯示的地方,接下來才是真正的修改(其實你可以再把檔案上傳更新後 依照新的錯誤訊息去改)

4-1 在 wp-content/plugins/db-cache-reloaded-fix/ 中新增一個cache 資料夾,權限改成 777 (755 和 775 可以測試)

4-2 把wp-content/plugins/db-cache-reloaded-fix/cache 中的db.php 複製一份到 wp-content/  也和上面一樣 修改權限

 

這樣應該就可以正常運作了

Post to Twitter Post to Plurk Post to Facebook Send Gmail

wordPress 3.3.1 中文版釋出

今天我在檢查更新的時候發現

平常只有英文版的 wordPress 核心 終於出台灣中文版了

 所以 我就 把整個網站備份後跑去更新

 

 

wordpress 的更新方式的確十分簡單

我另一個網站用drupal 到現在還卡在6.2.2……

 

 

經過短暫的測試

沒有問題

後臺更為方便

Post to Twitter Post to Plurk Post to Facebook Send Gmail

wordPress網站完整備份(Drupal也OK)

前陣子 寫了幾篇 關於 備份的教學

這次 做了一個 可以一鍵快速備份的小script

同時備份 檔案 跟SQL資料

 

不過這種方法 只適合 會使用 ssh 的 人,如果你是租用空間,沒有這種權限,那就只好說聲抱歉了

基本上 這個方法 應該各種架站軟體都通吃

 

  1. 首先 要先準備 MYSQL 的帳號、密碼、資料庫名稱  這三個 我們平常很難會去碰到,恩….我自己也忘了
    你可以去打開你的 網站檔案去找wordpress 的位置在 wp-config.php
    恩….檔案內有中文註解,應該就不用貼文字了
    看不懂的 請再迴響問我

  2. ssh 登入你的server

  3. mkdir <備份資料夾名稱>

  4. vim backUp.sh    //開始撰寫 備份文件

  5. 在文章內 貼上下列文字 並且填入[ XX] 內的資料

    #!/bin/sh
    echo 'back up start…'
    mysqldump -u[MYSQL帳號] -p[MYSQL密碼] [資料庫名稱] > [備份位置 請寫絕對位置]/[備份檔案名稱].sql
    tar zcf [備份位置]/[備份檔案名稱].tar.gz [網站位置]
    echo 'done..'

  6. sh backUp.sh 測試,沒有跑出任何error 就成功了

 

說明

mysqldump -u[MYSQL帳號] -p[MYSQL密碼] [資料庫名稱] > [備份位置 請寫絕對位置]/[備份檔案名稱].sql

這一行 是輸出整個SQL 資料庫,包含指令,日後要回復,用這個檔案用 phpMyAdimn 也可以用,要注意 -u後面加帳號不要空白,密碼的也是

tar zcf [備份位置]/[備份檔案名稱].taz.gz [網站位置]

這個則是簡單的 壓縮指令

把整個資料夾壓縮,這個壓縮格式 在windos 下可以開啟,不過最好用英文存比較不會有編碼問題

碰到編碼問題 建議用7zip開啟

 

如果想要讓他定期備份的話

就用crontab 吧,這個每個OS 都不太一樣,我暫時也沒有權限,就不弄了。

 

如果想要每次備份的檔名都不一樣的話

可以在echo 至之後就一行加入

t=$(date +%Y%m%d)

然後再檔名的地方 改成 $t 就可以了

 

 

 

Post to Twitter Post to Plurk Post to Facebook Send Gmail

在wordPress中放php

最近我又因為一些案子,研究如何在 wordpress中放php code

所以找了一下 網路上的文章

就開始嘗試使用

 

外掛名稱:shortcode-exec-php

 

1. 安裝好後 在工具的地方看到同名的選項

 

2.進去後會看到設定選單…..基本上我都沒有用過,應該不難懂,前四個是說 哪些地方可以使用php

3. 再來就是寫code 的地方,hello_world是名稱,寫好後 可以test 測試 和 save 存檔,在要使用的地方 就把[名稱]放進去,就可以了

經過測試,不同組的code 參數不能共用

可以用include

輸出都用echo

 

 

另外 聲明

用這種方式有漏洞問題,請自行評估

Post to Twitter Post to Plurk Post to Facebook Send Gmail

WordPress訪客統計-StatPress(中文化)

本篇文章 參考http://steachs.com/archives/194

 

架設一個網站的目的除了替自己保留紀錄外,就是與他人分享,而要如何知道有多少人看了呢?

就是要做 流量的統計,流量統計最簡單 最原始的方式就是用 訪客計數器 這種東西

只是這種東西只有簡單的數字,無法給你更多訊息

今天教的這個則是相當厲害的 流量統計,他會分析每一位訪客 的IP、從哪個頁面來、看了那些頁面、他搜尋那些關鍵字、哪一套作業系統、哪個瀏覽器 都一清二楚(基本上他只是分析 apache的 log 然後寫入SQL中)

這樣你就可以知道 你哪些文章受歡迎、哪些文章…..

OK 廢話不多說

plug-in 名稱 statPtess 你可以用wordpress 提供的線上安裝功能安裝,也可以用我下面的載點安裝

檔案網址

這是經過我翻譯後 外加 修正一些不方便的地方

安裝方式:

1.檔案解壓縮後,整個資料夾上傳至wp-content / plugins 下

2.進入後台->外掛 安裝他

詳細使用方式 就參考我提供的參考網址吧!

 

PS.本外掛因為會記錄每一筆資料,所以SQL 需求較大,請在設定中自己選擇資料保留的時間場短…..

Post to Twitter Post to Plurk Post to Facebook Send Gmail

Copyright © 2021. All Rights Reserved.

歡迎光臨
初音