WordPress:將文章的分類名稱,製作成 shortcode

要用 shortcode 顯示文章分類名稱,可以在 function.php 加入以下程式碼:

function shortcode_post_category($atts=array()) {
	// get taxonomy by post type
	$tax = get_object_taxonomies(get_post_type());

	// get the categories of the taxonomy
	$cats = get_the_terms($post->ID, $tax[0]);

	$result = '';
	foreach ($cats as $cat) {
		$result = $cat->name;
		return $result;
	}
	return $result;
}
add_shortcode('post_category', 'shortcode_post_category');


參考文章:

How To: Get Single Post Category With a WordPress Shortcode

WordPress :AIOSEO 外掛不要輸出 breadcrumbList Schema Data

AIOSEO 預設都會輸出 breadcrumbList 這個麵包屑 Schema Data,但輸出的麵包屑又是錯誤的,很討厭。

add_filter( 'aioseo_schema_output', 'aioseo_filter_schema_output' );

function aioseo_filter_schema_output( $graphs ) {
foreach ( $graphs as $index => $graph ) {
if ( 'BreadcrumbList' === $graph['@type'] ) {
unset( $graphs[ $index ] );
}

foreach ( $graph as $key => $value ) {
if ( 'breadcrumb' === $key ) {
unset( $graphs[ $index ][ $key ] );
}
}
}
return $graphs;
}

在function.php 加入上面程式碼,就可以禁止 AIOSEO 輸出 breadcrumbList Schema Data 了。

參考:

How to disable Breadcrumbs in aioseo-schema

WordPress 解決 Directory Browsing 問題

一般安裝好 WordPress 網站之後,如果你有目錄底下是沒有 index.php 這個檔案的,別人如果輸入該目錄網址,會將該目錄下的檔案看的一清二楚,這本身會有安全性問題。

做法就是在wordpress 的 .htaccess 裡面加入下面這行:

#disable Directory Browsing
Options -Indexes

除了上面這個指令之外,你還可以加入以下指令,這樣會更安全。

        
<IfModule mod_headers.c>

# X-Content-Type nosniff
Header set X-Content-Type-Options nosniff
#避免 XSS (cross-site scripting) 攻擊
Header set X-XSS-Protection "1; mode=block"
</IfModule>

參考:
How To Disable Directory Browsing In WordPress

WordPress 關閉預設 RSS,自創 Feed URL

現在很多網路爬蟲都會自己抓 WordPress 預設的 RSS 路徑,然後將你的內容抄襲到內容農場網站上,相當令人討厭。

你可以安裝下面這個外掛:

Disable Feeds

安裝好並啟用之後,就會將 WordPress 預設RSS給關閉。

然後再安裝「WP RSS Aggregator」這個外掛,自己創建一條新的 RSS Feed,這樣就不會被自動抓取內容了。

WP RSS Aggregator – News Feeds, Autoblogging, Youtube Video Feeds and More

 

WordPress rss 如何加上 media:content 標籤(Mailchimp image 需要)

如果你的 WordPress 有使用 Mailchimp 來發送電子報,Mailchimp 的文章圖片標籤是:*|RSSITEM:IMAGE|*。但是這個標籤會去抓取你的 wordpress 的 rss feed 的 「media:content 」這個標籤。但是Wordpress 預設是沒有 media:content 這個標籤的,所以你要自己加上去。

在function.php 加上以下:

// RSS-Feed for Mailchimp
function dn_add_rss_image() {
    global $post;

    $output = '';
    if ( has_post_thumbnail( $post->ID ) ) {
        $thumbnail_ID = get_post_thumbnail_id( $post->ID );
		$thumbnail = wp_get_attachment_image_src( $thumbnail_ID, 'large' );

        $output .= '';
    }
    echo $output;
}
add_action( 'rss2_item', 'dn_add_rss_image' );
//end: RSS-Feed for Mailchimp

加上去之後,打開你的網址:https://example.com/rss,你就會發現目前已經加上了 media:content 這個標籤了。

所以你在用 Mailchimp 發送電子報的時候,就可以使用 *|RSSITEM:IMAGE|* 這個代碼來顯示圖片。

參考:
Adding the Mailchimp Required < media: content > Tag to your WordPress RSS Feed Output
在Mailchimp中設計WordPress RSS源-您應該記住這一點

AWS EC2 增加檔案系統的儲存空間大小,解決硬碟空間不夠問題

在修改之前,要先登入AWS 修改原本檔案系統大小。參考下面文章。

Request modifications to your EBS volumes

在後台修改完大小之後,登入你的EC2 輸入以下指令。

df -hT
#驗證每個磁碟區使用的檔案系統,請使用 df -hT 命令。

 lsblk
#檢查磁碟區是否有必須擴展的分割區,請使用 lsblk 命令來顯示連接到執行個體之區塊型儲存設備的相關資訊。


sudo growpart /dev/xvda 1
對於具有分割區的磁碟區 (例如上一個步驟中顯示的磁碟區),請使用 growpart 命令來擴展分割區。請注意,裝置名稱與分割區號碼之間有一個空格。


sudo resize2fs /dev/xvda1
[ext4 磁碟區] 若要擴展每個磁碟區上的檔案系統,請使用 resize2fs 命令。

注意,先看過官方文件再輸入指令。
調整磁碟區大小後擴展 Linux 檔案系統

參考文章:
[AWS] EC2 硬碟空間不夠,手動增加方法