我正在爲wordpress創建一個插件OOP。該插件創建一個稱爲團隊的新自定義帖子類型。在團隊頁面中,可以使用shortcode [程序]來生成一些預先定義的html代碼。此外,我用新的元框創建自定義字段。WordPress的獲得帖子ID
然而,問題是:當我進入調用該插件的頁面時,我需要在我的插件中獲取發佈ID來獲取get_post_meta()。
我已經試過了以下幾件事:
public function __construct(){
// not working
$post;
$post->ID;
// not working
global $wp_query;
$post_id = $wp_query->post->ID;
$post = get_post($post_id);
// not workiing
echo '<pre>';
print_r('post_id:' . get_the_ID());
echo '</pre>';
}
我怎麼能接受我的插件內的自定義後ID,當我參觀了從前端的頁面(所以插件調用,運行短碼)
我的主類被加載這樣的:
function run_plugin() {
$plugin = new MyPlugin();
$plugin->run();
}
run_plugin();
在爲myplugin構造看起來像
public function __construct() {
if (defined('PLUGIN_NAME_VERSION')) {
$this->version = PLUGIN_NAME_VERSION;
} else {
$this->version = '1.0.0';
}
$this->plugin_name = 'MyPlugin';
if(!empty(get_option($this->plugin_name))){
$this->clientID = get_option($this->plugin_name)['client_id'];
}
$this->load_dependencies();
$this->set_locale();
$this->define_admin_hooks();
$this->define_public_hooks();
$this->define_shortcodes();
}
我很困惑 - 爲什麼你有兩個構造函數? – FluffyKitten
還有相同的但不同的嘗試來解決這個問題 – Bham