亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將 post_id 添加到 post_title 僅適用于 post_type 為“post”的帖子

將 post_id 添加到 post_title 僅適用于 post_type 為“post”的帖子

PHP
陪伴而非守候 2023-05-12 16:11:12
我需要能夠在帖子標題中插入帖子的 ID。在標題出現的任何地方都應將 id 添加到標題中。它只應添加到具有帖子類型的帖子中post,而不應添加到頁面、自定義帖子類型等中。我已經設法做到這一點:function custom1_shortcode_func() {    global $post;    ob_start();    echo get_the_title($post->ID); echo " ("; echo get_the_ID(); echo ")"    $output = ob_get_clean();    return $output;}add_shortcode('post-id', 'custom1_shortcode_func');在帖子中使用 [post-id] 時返回帖子標題和帖子 ID。但是我需要在我的整個網站上修改帖子標題,所以無論什么地方顯示帖子標題,它后面都會跟著“(post_id)”。我試過了,它確實在帖子標題前顯示了 post_id,但它改變了所有標題,包括菜單:add_filter('the_title', 'wpshout_filter_example');function wpshout_filter_example($title) {    return get_the_ID().$title;}
查看完整描述

1 回答

?
瀟湘沐

TA貢獻1816條經驗 獲得超6個贊

您的第二次嘗試已經接近尾聲,但您發現這對每個標題都有效。


您需要做的是先檢查帖子類型是否為 a post,如果是則只添加 id。


add_filter('the_title', 'add_id_to_title', 10, 2);

function add_id_to_title($title, $post_id) {

? ? //use the id to check the post type and only add the id if it has a type of "post"

? ? if(get_post_type($post_id) == "post")

? ? ? ? $title = $post_id.': '.$title;

? ? return $title;

}

這是做什么的:

  • 過濾the_title器可以采用 2 個參數:標題(您正在使用的)以及帖子的 ID。

  • 使用 id,可以使用內置get_post_type函數找出帖子類型。

  • 然后我們可以檢查帖子類型是否是post,如果是我們將 id 添加到標題。


查看完整回答
反對 回復 2023-05-12
  • 1 回答
  • 0 關注
  • 151 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號