成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

10個高級WordPress自定義字段技巧

開發
本文介紹了10個比較高級的WordPress自定義字段使用技巧,說是高級,其實也未必,代碼并不復雜,只是可能你會沒想到這樣弄,所以,WP開發者朋友看看還是有好處的。

但WordPress早已不是一個流行的博客程序,而是一個方便的建站程序。稍復雜一點的站點,幾乎避不可少的要使用到自定義字段,比如做個產品網站,要錄入產品的各種參數,你也可以選擇在文章內容中直接錄入,但那缺乏靈活性,不方便擴展。

下面則是10個比較高級的WordPress自定義字段使用技巧,說是高級,其實也未必,代碼并不復雜,只是可能你會沒想到這樣弄,所以,WP開發者朋友看看還是有好處的。

1. 給帖子設定時間期限

問題:有時候 (例如, 您正在管理一篇辯論搞), 您希望發布一篇文章,然后在一個固定的時間自動關閉文章顯示。這看起來很不容易,但事實絕非如此,您有自定義字段的權利。

解決方案:編輯您的主題,用下面的“hacked” 循環來替換當前 WordPress 中的循環:

  1. <?php  
  2. if (have_posts()) :  
  3. while (have_posts()) : the_post(); ?>  
  4. $expirationtime = get_post_custom_values('expiration');  
  5. if (is_array($expirationtime)) {  
  6. $expirestring = implode($expirationtime);  
  7. }  
  8. $secondsbetween = strtotime($expirestring)-time();  
  9. if ( $secondsbetween > 0 ) {  
  10. // For example...  
  11. the_title();  
  12. the_excerpt();  
  13. }  
  14. endwhile;  
  15. endif;  
  16. ?> 

創建一篇文章在一個固定的時間或日期之后過期,您所需要的僅僅是自定義一個字段。指定一個關鍵字標識 expiration 為日期或者時間格式 (必須為 mm/dd/yyyy 00:00:00)。在這個時間之后這篇文章就不顯示了。

代碼解釋:這段代碼簡單的 WordPress 循環會自動查詢是否存在有自定義字段叫 expiration。如果存在,對比自定義時間跟當前的時間。

2. 確定如何使博客文章顯示在首頁

問題:我總是想知道為什么有 95% 的博客選擇在博客首頁中全文顯示發布過的 所有/em> 文章。當然,WordPress 中并沒有默認的內置選項來告訴您如何顯示一篇文章。但是等等:通過自定義字段我們就可以很容易地實現。

解決方案:下面的技巧可以幫組您定義如何顯示文章在您的首頁。這兩個值是需要用到的:

全文瀏覽

僅顯示摘要

我們會再一次用到自定義 WordPress 循環。在您的 index.php 文件中找到循環,然后用下面的代碼來替換:

  1. <?php if (have_posts()) :  
  2. while (have_posts()) : the_post();  
  3. $customField = get_post_custom_values("full");  
  4. if (isset($customField[0])) {  
  5. //Custom field is set, display a full post  
  6. the_title();  
  7. the_content();  
  8. else {  
  9. // No custom field set, let's display an excerpt  
  10. the_title();  
  11. the_excerpt();  
  12. endwhile;  
  13. endif;  
  14. ?> 

在這段代碼中,摘要作為默認顯示項。為了在您的博客首頁中顯示全文,那么您需要簡單地編輯文章,給自定義字段 full 賦一個任意值。

代碼解釋:這段代碼更加簡單。首先,創建一個類似 full 的自定義字段,如果被賦值,那么顯示全文,反之,顯示摘要。

如果當前日期或時間等于或者大于自定義字段 expiration 中的值,那么這篇文章就不會顯示了。注意,這段代碼不會刪除或取消您的文章的發布,僅僅是通過循環不讓文章顯示。

3.心情顯示以及當前收聽的歌曲

問題:大概在五六年錢,我的博客是通過一個叫LiveJournal的平臺來運行的。當然,這個遠遠沒有WordPress優秀,但它有一個非常好的特征是WordPress所沒有的。例如,它允許用戶來顯示當他們在撰寫博客時的心情和正在收聽的音樂。

盡管我沒有把這些特征應用到我的博客中,我想很多博客們對這個在WordPress中的應用還是會非常感興趣的。

解決方案:打開您的文件 single.php (或者修改您的文件 index.php ), 并將下面的代碼粘貼到您想要的任意一個循環中:

  1. $customField = get_post_custom_values("mood");  
  2. if (isset($customField[0])) {  
  3. echo "Mood: ".$customField[0];  

保存文件。好了,當您新撰寫一篇文章的時候,就創建一個自定義字段,叫做 mood, 然后輸入您當前的心情。

代碼解釋:自定義字段方法非常簡單,這個跟眾所周知的,在首頁的摘要旁顯示您的縮略圖的方法沒有多大區別。看來僅需要類似 mood 這樣的自定義字段,如果設置了值,那么就顯示。

4. 給您的文章添加Meta描述符

問題:WordPress, 令人驚訝的是,不使用描述標簽的作為meta預設值。

當然,對于seo來說,現在的meta標簽已經沒有以前那么重要了。然而,盡管如此,它們依然可以提高您的博客在搜索引擎中的排名。

如何又是使用自定義字段來創建描述單獨帖子的meta描述呢?

解決方案:打開文件 header.php。復制下面的代碼到 <head> 和 </head>標簽內。

  1. <meta name="description" content="  
  2. <?php if ( (is_home()) || (is_front_page()) ) {  
  3. echo ('Your main description goes here');  
  4. elseif(is_category()) {  
  5. echo category_description();  
  6. elseif(is_tag()) {  
  7. echo '-tag archive page for this blog' . single_tag_title();  
  8. elseif(is_month()) {  
  9. echo 'archive page for this blog' . the_time('F, Y');  
  10. else {  
  11. echo get_post_meta($post->ID, "Metadescription", true);  
  12. }?>"> 

代碼解釋:為了生成 meta 的描述語,這里采用的是 WordPress 中廣泛采用的條件式標簽來決定哪些用戶會訪問這個頁面。

目錄頁,標簽頁,存檔頁及站點首頁,使用的都是靜態 meta 描述語。編輯行3,7,9來定義您自己的頁面。這樣,在文章中,代碼會尋找自定義字段 Metadescription,并將其中的值作為 meta 描述語。

5. 鏈接到外部資源

問題:很多博客們都問過我下面的問題:“我如何直接鏈接到外部來源,而不是創建一個帖子,僅僅是為了告訴訪客們怎么去訪問其他站點。”

這個問題可以通過自定義字段來實現。讓我們來看看怎么才能做到這點。

解決方案:首先要做的是打開您的文件 functions.php,然后粘貼下面的代碼:

 

  1. function print_post_title() {  
  2. global $post;  
  3. $thePostID = $post->ID;  
  4. $post_id = get_post($thePostID);  
  5. $title = $post_id->post_title;  
  6. $perm = get_permalink($post_id);  
  7. $post_keys = array(); $post_val = array();  
  8. $post_keys = get_post_custom_keys($thePostID);  
  9. if (!emptyempty($post_keys)) {  
  10. foreach ($post_keys as $pkey) {  
  11. if ($pkey=='url1' || $pkey=='title_url' || $pkey=='url_title') {  
  12. $post_val = get_post_custom_values($pkey);  
  13. }  
  14. }  
  15. if (emptyempty($post_val)) {  
  16. $link = $perm;  
  17. else {  
  18. $link = $post_val[0];  
  19. }  
  20. else {  
  21. $link = $perm;  
  22. }  
  23. echo '<h2><a href="'.$link.'" rel="bookmark" title="'.$title.'">'.$title.'</a></h2>';  

完成之后,打開文件 index.php 并替換輸出的標準代碼…

 

  1. <h2><a href=”<?php the_permalink() ?>” rel=”bookmark” title=”Permanent Link to <?php the_title(); ?>”><?php the_title(); ?></a></h2> 

 

… 用新創建的方面 print_post_title() :

 

  1. <?php print_post_title() ?> 

 

好了,當您需要指向處自己博客之外的文章,僅僅需要滾動您的編輯器的下方,創建或者選擇自定義字段 url1 或 title_url 或 url_title ,輸入外部 URL 地址就可以了。

代碼解釋:這是一段非常友好的自定義功能替換 the_title() WordPress 函數。

基本上而言,這段功能跟老的 the_title() 函數一樣優秀,而且也是一個自定義字段。如果查找到字段 url1 或 title_url 或 url_title 的值,那么就會直接鏈接到外部站點而不是博客文章。如果自定義字段值沒有找到,就會簡單地顯示鏈接本身。

6. 嵌入自定義的CSS樣式

問題:某些文章可以需要額外的 CSS 樣式。當然,您也可以選擇 WordPress 的編輯器進入html 模式進行編輯,加入內置的樣式到文章內容中。但即使內置樣式是有效的,但這總不是最簡單的處理方法。

用自定義字段,我們可以很容易地為個別文章創建新的 CSS 類,并自動加載它們到博客的 header 中。

解決方案:首先,打開文件 header.php ,然后哦插入如下的代碼到 HTML 標簽<head> 跟 </head>中:

  1. <?php if (is_single()) {  
  2. $css = get_post_meta($post->ID, 'css', true);  
  3. if (!emptyempty($css)) { ?>  
  4. <style type="text/css">  
  5. <?php echo $css; ?>  
  6. <style>  
  7. <?php }  
  8. } ?> 

7. 重定義The <title>標簽

問題:對于博客,就想其他所有類型的網站一樣,內容為王。而SEO對您的目標流量是至關重要的。wordpress主題的默認值是沒有對標簽 <title> 做過優化的。

某些插件,如眾所周知的“All in One SEO Pack”重寫了這個,但您依然可以通過自定義字段來解決。

解決方案:打開文件 header.php 并編輯。找到標簽 <title> tag 并替換下面的代碼:

  1. <title>    
  2. <?php if (is_home () ) {    
  3. bloginfo('name');    
  4. elseif ( is_category() ) {    
  5. single_cat_title(); echo ' - ' ; bloginfo('name');    
  6. elseif (is_single() ) {    
  7. $customField = get_post_custom_values("title");    
  8. if (isset($customField[0])) {    
  9. echo $customField[0];    
  10. else {    
  11. single_post_title();    
  12. }    
  13. elseif (is_page() ) {    
  14. bloginfo('name'); echo ': '; single_post_title();    
  15. else {    
  16. wp_title('',true);    
  17. } ?>   
  18. </title>   

然后,如果您想自定義 title 標簽,簡單地創建自定義字段 title, 并為它賦值就可以了。

代碼解釋:通過這段代碼,我為各個類別的帖子,如首頁,分頁,目錄頁及博客文章用不同標記模板生成一個自定義 。

如果當前活動的頁面是篇博客文章,代碼會尋找自定義字段 title。如果找到了,就會顯示自定義字段中的值,反之,顯示標準的 single_post_title() 生成的標題。

8. 禁止搜索引擎搜索博客文章

問題:您是否曾想過創建一篇半隱私文章,允許普通讀者訪問,而不是搜索引擎?如果是這樣的話,最簡單的解決方案是…您肯定猜到了!用自定義字段。

解決方案:首先,獲取您不想被搜索引擎索引的文章的ID號。我們以ID為17的作個范例。

打開文件 header.php 粘貼下面的代碼到標簽 <head>和</head>中:

  1. <?php $cf = get_post_meta($post->ID, 'noindex', true);  
  2. if (!emptyempty($cf)) {  
  3. echo '<meta name="robots" content="noindex"/>';  
  4. }  
  5. ?> 

僅此而已,這對于您不想將某些信息被搜索引擎索引到的是非常有用的!

代碼解釋:在這個示例中,我們使用 get_post_meta() 方法來檢索自定義字段 noindex。如果值設置了,那么添加標記 。

9. 用自定義函數輕松地獲取或者打印自定義字段值

問題:現在我們已經展示給了您不少優秀地怎么應用自定義字段的方法,那么怎樣才能輕松地用自動化的函數來獲取自定義字段值呢?

對于程序員或者對PHP比較熟悉的人員來說,獲取自定義值并不是什么困難的事,但對于非程序員而言卻非常痛苦。通過這個方法,獲得任何自定義字段值從未如此簡單。

解決方案:將一下代碼方法粘貼到您的主題文件 functions.php 中。如果主題中沒有這個文件,那么就請創建它。

  1. function get_custom_field_value($szKey$bPrint = false) {  
  2. global $post;  
  3. $szValue = get_post_meta($post->ID, $szKey, true);  
  4. if ( $bPrint == false ) return $szValueelse echo $szValue;  

好了,通過下面的代碼來調用這個方法就會獲得自定義字段的值:

  1. <?php if ( function_exists('get_custom_field_value') ){  
  2. get_custom_field_value('featured_image', true);  
  3. } ?> 

代碼解釋:首先,我們使用 PHP 的函數 function_exists() 判斷是否存在 get_custom_field_value 方法是否已經在主題中定義過了。如果存在,我們就可以使用。***個參數是自定義字段名稱 (這里是, featured_image), 第二個參數是允許您直接輸出值 (true) 或者以備作為之后的PHP 使用 (false)。

10.根據需要隨時添加Digg按鈕

問題:從眾所周知的 Digg.com 中獲得點擊量的***的方法是將“Digg this”按鈕添加到您的每一篇文章中,瀏覽者可以協助您成功發布這篇文章。

但是,對于您的所有博客都采用這個按鈕?當然不是。例如,如果您撰寫了一條關于來改善您的網站的聲明,提交到Digg服務,那是毫無價值的。

解決方案:再次請求自定義字段完成。只要根據下列的步驟開始就可以了:

1. 打開您的文件 single.php 并將這些行粘貼到您想顯示“Digg this”按鈕的地方:

  1. <?php $cf = get_post_meta($post->ID, 'digg', true);  
  2. if (!emptyempty($cf)) {  
  3. echo 'http://digg.com/tools/diggthis.js" type="text/javascript">'} ?> 

2. 一旦您保存了文件 single.php , 您就可以創建自定義字段 digg 并可以賦任意值。如果賦值,按鈕就會顯示在文章中。

代碼解釋:這段代碼非常簡單。在自定義代碼上找到自定義字段 digg, 代碼顯示“Digg this” 按鈕。Digg本身提供JavaScript 用戶顯示“Digg this” 按鈕。

【編輯推薦】

  1. 深度剖析WordPress主題結構
  2. 三種直接備份WordPress博客數據庫的方法
  3. 7.1.2 利用WordPress的內置編輯器
  4. BLOG啟示錄——WordPress博客建設與經營
  5. WordPress獲得2009開源PHP項目亞軍
責任編輯:于鐵 來源: 帕蘭映像
相關推薦

2019-06-10 10:08:16

Windows 10Windows鼠標指針

2011-07-07 10:21:56

2018-04-18 15:50:08

Windows 10桌面圖標

2009-04-23 09:05:08

IE8llq自定義功能

2012-02-09 10:58:35

Java

2022-06-21 14:30:16

Vim自定義Linux

2010-09-01 08:35:07

Visual Stud

2010-02-25 11:23:29

WCF返回自定義格式

2015-02-12 15:33:43

微信SDK

2009-07-20 13:47:08

iBATIS.NET字

2015-11-27 14:04:00

微軟Windows 10

2009-06-17 14:13:10

Eclipse常用技巧

2015-02-12 15:38:26

微信SDK

2012-11-19 11:07:42

IBMdw

2016-11-16 21:55:55

源碼分析自定義view androi

2016-12-26 15:25:59

Android自定義View

2011-06-23 10:49:13

Qt 自定義信號

2018-12-27 09:30:04

Windows 10自定義配置

2009-06-22 15:07:45

原則和技巧JSF自定義復合組件

2022-06-06 09:28:36

ReactHook
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 三级特黄特色视频 | 亚洲一区二区三区四区五区午夜 | 国产免费一区二区三区 | 精品欧美乱码久久久久久1区2区 | 亚洲精品国产综合区久久久久久久 | 成年女人免费v片 | 国产 欧美 日韩 一区 | 老司机午夜性大片 | 成人午夜免费福利视频 | 九九热在线免费视频 | www.亚洲一区| 国产精品久久久久久高潮 | 韩日一区二区 | 精品一区二区三区免费视频 | 亚洲一区二区高清 | 免费精品 | 区一区二区三在线观看 | 亚洲精品久久视频 | 亚洲一区中文字幕在线观看 | 欧美日韩国产一区二区三区 | 久久久夜色精品亚洲 | 欧美成人一级 | 久久日韩精品一区二区三区 | 亚洲一区二区三区在线播放 | 国产精品视频二区三区 | 99精品99久久久久久宅男 | 国产一级片av | 日韩精品一区二区不卡 | 亚洲不卡一 | 一区二区三区国产精品 | 九色.com| 久久久久久www | 免费在线一区二区三区 | 国产ts人妖另类 | 久久久久久国 | 日本三级电影在线免费观看 | 色综合久 | 国产乡下妇女做爰 | 精品中文字幕一区二区三区 | 国产精品观看 | 日本精品久久久久久久 |