使用 WordPress 建站的朋友都知道,如果你在撰寫文章時新增了另一篇 WordPress 文章的連結,那麼釋出文章後就會向那篇被連結的文章傳送一條 Pingback 引用通告,這對於兩個 WordPress 站點的互動和交流還是很有好處的。

但是 WordPress 預設也會向站內連結傳送 Pingback 引用通告,如果自己站內的某篇文章被多次連結,那麼那篇文章收到的 Pingback 引用通告就會很多。

而對於站內文章來說,獲得這麼多的 Pingback 引用通告不但無益,還有一定的害處,例如導致資料庫龐大、不利於 SEO 等。所以,我們最好是禁止 WordPress 向站內連結傳送 PingBack 引用通告,而對於站外連結則照發不誤。實現方法如下:

在當前 WordPress 主題的 functions.php 中新增如下程式碼:

function no_self_ping( &$links ) { $home = get_option( 'home' ); foreach ( $links as $l => $link ) if ( 0 === strpos( $link, $home ) ) unset($links[$l]); } add_action( 'pre_ping', 'no_self_ping' );

其實以上程式碼就是提取自 No Self Pings 外掛,沒必要因為這個需求再專門安裝個外掛。

另外,如果你要刪除之前已經產生的 Pingback,則可以在資料庫中執行如下命令:

UPDATE wp_posts SET ping_status='closed';

注意修改上面的 wp_posts 的字首 wp_ 為你的資料庫表字首哦!

但是這個命令也會把所有的來自站外的 Pingback 引用通告也刪除掉,所以也在這裡求一條能夠只刪除來自站內的 Pingback 引用通告的命令,希望知道的朋友能夠在評論中分享一下,非常感謝!