2016-08-22 42 views
0

我一直使用一個簡單的函數來獲取帖子標題(也有一個用於標籤和類別),並允許我使用短代碼在前端顯示這些標題我的網站。我目前使用的功能如下:使短代碼依賴於帖子ID添加的位置

function sc_title() { return get_the_title(); } add_shortcode('title', 'sc_title');

現在我已經使用了一個名爲Templatera插件,所以我沒有編輯所有單獨的頁面最近開始,這已停止正常工作,是現在拉過模板標題而不是帖子標題。

我從插件開發者有反應是:

這將可能需要對簡碼做了一些改變,讓 它是依賴於交id其中被添加它。

我已經嘗試了幾個修復程序,但似乎沒有工作。

+0

你想只添加短代碼到特定的帖子ID? –

+0

我在所有帖子上使用短代碼來在內容中顯示帖子標題,而不僅僅是一個特定帖子。 – RuFFCuT

+0

我無法得到你,你究竟想要什麼?你想要一個適用於所有文章的短代碼?或者是什麼 ? –

回答

0

在WordPress開發文檔,你可以看到,get_the_title()接受一個整數ID(或一個職位對象)作爲參數:https://developer.wordpress.org/reference/functions/get_the_title/

嘗試的工作,在你的簡碼。

我第一次運行將是:

function sc_title() { 

    // get current post/page ID 
    global $wp_query; 
    $post_id = $wp_query->posts[0]->ID; 

    return get_the_title($post_id); 
} 
add_shortcode('title', 'sc_title'); 

這適用於單個頁面(例如一個帖子「頁」),但我想它不會在正在顯示多個帖子內容頁的工作(其總是返回第一個查詢的帖子的標題)。