WordPress佈景主題製作教學進階系列-功能表製作(二)

建立網站SEO描述功能

在這一部分,將介紹如何在選單內,製作網站SEO描述的功能。

首先,如同上一篇WordPress佈景主題製作教學進階系列-功能表製作(一)的方法將選單製作好。

添加到function.php內:

<?php

/** Step 1. 新增Simpleaidec選單至外觀*/
function SimpleAidec_themes_menu() {
add_theme_page( ‘SimpleAidec Options’, ‘SimpleAidec’, ‘manage_options’, ‘my-unique-identifier’, ‘SimpleAidec_themes_options’ );

}

/** Step 2 (呼叫SimpleAidec_themes_menu()). */
add_action( ‘admin_menu’, ‘SimpleAidec_themes_menu’ );

若不知道如何建立選單,請觀看第一篇的教學。


 

/** Step 3.預設參數 */
global $siteSEO;

$siteSEO=array(
‘status’=>’ ‘,
‘std’=>’ ‘

);
add_option(‘SEO_option’, $siteSEO);

說明:

我們建立了一個名為 siteSEO 的陣列,並設定:

$siteSEO[‘status’]=’ ‘;  //用來判斷是否啟用網站SEO描述功能。

$siteSEO[‘std’]=’ ‘; // 用來儲存網站SEO描述的內容。

add_option(‘SEO_option’, $siteSEO);

如同上一頁介紹,建立一個 名為SEO_option的選項,預設值為 $siteSEO 陣列 。

/** Step 4.編輯一個簡單的SimpleAidec主題選單內容 */
function SimpleAidec_themes_options() {
if ( !current_user_can( ‘manage_options’ ) ) {
wp_die( __( ‘您沒有足夠的權限可以訪問此頁面!!’ ) );
}

$SEO=get_option(‘SEO_option’);
echo ‘<h1>SimpleAidec 選單</h1><br>’;
echo ‘<h2>網站SEO描述</h2><hr>’;
echo ‘<form action="#" method="post" name="S_form" id="S_form">’;
echo ‘啟用:<input type="checkbox" name="SEO_enable" id="SEO_enable" value="checked"‘; if($SEO[‘status’]==’checked’){ echo ‘checked="check"‘; } echo ‘"/>’;
echo ‘<br>’;
echo ‘SEO描述:<br><textarea name="seo_description" id="seo_description" tabindex="4″ rows="6″ cols="60″ class="code">’.$SEO[‘std’].'</textarea>’;
echo ‘<br>’;
echo ‘<input class="button-primary" type="submit" name="aidec_save" value="儲存設定" />’;
echo ‘</form>’;
}

說明:

//陣列變數$SEO的資料等於 SEO_option 選項內的資料

$SEO=get_option(‘SEO_option’); 

//製作選單大標題
echo ‘<h1>SimpleAidec 選單</h1><br>’;  

//製作選單功能標題

echo ‘<h2>網站SEO描述</h2><hr>’;

//建立表單

echo ‘<form action="#" method="post" name="S_form" id="S_form">’;

//新增一個"核取方塊" 並判斷是否選取

echo ‘啟用:<input type="checkbox" name="SEO_enable" id="SEO_enable" value="checked"‘; if($SEO[‘status’]==’checked’){ echo ‘checked="check"‘; } echo ‘"/>’;

//新增一個textarea文字框 ,並載入$SEO[‘std’]的資料

echo ‘SEO描述:<br><textarea name="seo_description" id="seo_description" tabindex="4″ rows="6″ cols="60″>’.$SEO[‘std’].'</textarea>’;

//建立提交按鈕

echo ‘<input type="submit" name="aidec_save" value="儲存設定" />’; 


 

/** Step 5.更改參數 */
function add() {
if(isset($_POST[‘aidec_save’])) {
if($_POST[‘SEO_enable’]==’checked’){
$siteSEO[‘status’]=’checked’;
}else{
$siteSEO[‘status’]=’0′;
}
$siteSEO[‘std’]=$_POST[‘seo_description’];
update_option(‘SEO_option’,$siteSEO);

}}

建立更改儲存變更資料的動作函式。

說明:

//若是step4的儲存設定按鈕按下時

if(isset($_POST[‘aidec_save’])) {

//獲取核取方塊狀態,並將狀態存入$siteSEO[‘status’]

if($_POST[‘SEO_enable’]==’checked’){
$siteSEO[‘status’]=’checked’;
}else{
$siteSEO[‘status’]=’0′;
}

 //將網站SEO描述儲存到$siteSEO[‘std’]

$siteSEO[‘std’]=$_POST[‘seo_description’];

//將$siteSEO的值,更新到 SEO_option選項

update_option(‘SEO_option’,$siteSEO);


 

/*step6 執行動作

add_action(‘admin_menu’, ‘add’);

?>

說明:

add_action:當觸發 ‘admin_menu’ (管理者選單) 時,執行add()函式。


添加在header.php <head>下方<meta>附近:

//判斷是否啟用網站SEO描述,若等於[是],則顯示網站SEO描述。

<?php
$seo_status=get_option(‘SEO_option’);
if($seo_status[‘status’]==’checked’) { ?>
<meta name="description" content="<?php echo $seo_status[‘std’]; ?>" />;
<?php } ?>


這樣就完成網站SEO選單的製作了。

預覽圖:

(一)選單:

選單

 

(二)啟用功能:

on


操作流程:

(一).將下列代碼輸入在function.php

<?php

/** Step 1. 新增Simpleaidec選單至外觀*/
function SimpleAidec_themes_menu() {
add_theme_page( ‘SimpleAidec Options’, ‘SimpleAidec’, ‘manage_options’, ‘my-unique-identifier’, ‘SimpleAidec_themes_options’ );

}

/** Step 2 (呼叫SimpleAidec_themes_menu()). */
add_action( ‘admin_menu’, ‘SimpleAidec_themes_menu’ );
/** Step 3.預設參數 */
global $siteSEO;

$siteSEO=array(
‘status’=>",
‘std’=>"

);
add_option(‘SEO_option’, $siteSEO);

/** Step 4.編輯一個簡單的SimpleAidec主題選單內容 */
function SimpleAidec_themes_options() {
if ( !current_user_can( ‘manage_options’ ) ) {
wp_die( __( ‘您沒有足夠的權限可以訪問此頁面!!’ ) );
}

$SEO=get_option(‘SEO_option’);
echo ‘<h1>SimpleAidec 選單</h1><br>’;
echo ‘<h2>網站SEO描述</h2><hr>’;
echo ‘<form action="#" method="post" name="S_form" id="S_form">’;
echo ‘啟用:<input type="checkbox" name="SEO_enable" id="SEO_enable" value="checked"‘; if($SEO[‘status’]==’checked’){ echo ‘checked="check"‘; } echo ‘"/>’;
echo ‘<br>’;
echo ‘SEO描述:<br><textarea name="seo_description" id="seo_description" tabindex="4″ rows="6″ cols="60″ class="code">’.$SEO[‘std’].'</textarea>’;
echo ‘<br>’;
echo ‘<input class="button-primary" type="submit" name="aidec_save" value="儲存設定" />’;
echo ‘</form>’;
}
/** Step 5.更改參數 */
function add() {
if(isset($_POST[‘aidec_save’])) {
if($_POST[‘SEO_enable’]==’checked’){
$siteSEO[‘status’]=’checked’;
}else{
$siteSEO[‘status’]=’0′;
}
$siteSEO[‘std’]=$_POST[‘seo_description’];
update_option(‘SEO_option’,$siteSEO);

}}
add_action(‘admin_menu’, ‘add’);

?>

(二)將下列代碼輸入在header.php

<?php
$seo_status=get_option(‘SEO_option’);
if($seo_status[‘status’]==’checked’) { ?>
<meta name="description" content="<?php echo $seo_status[‘std’]; ?>" />;
<?php } ?>

添加的位置:

位置


恭喜您!!終於讀完此系列教學啦~~ 近期將會釋出 完成版本的佈景主題,提供給大家研究。
最後,在此預告一下~~即將推出 HTML教學系列PHP教學系列,請隨時關注本站學習新知識!!

感謝您的閱讀,請用力地分享讓大家知道吧~~

1 2

Aidec Li
學我所見,寫我所學。凡事略懂略懂~~
更多 Aidec Li 的文章...

推薦文章

發表評論