如何在插件中的Wordpress页面中显示文本

时间:2014-03-04 14:37:51

标签: wordpress plugins

我正在开发一个网站插件。(这是我的第一个Wordpress插件)

基本功能是查询数据库,在特定页面中显示数据库中的数据,使用特定样式而不是页面中的内容。

到目前为止,我设法在每个特定页面中显示一些文字。

这是我的一些基本配置后的代码:

global $wpdb;
global $wp_query;
add_action( 'wp', 'check_which_page' );
function check_which_page()
{

    $page_type=get_post_type();
    $page_id=get_the_ID();
    //echo $page_id;

    switch($page_id)
    {
        case 50:technologyPage();break;
        case 82:medicalPage();break;
    }   
}
function technologyPage()
{
    return print "Technology";
}
function salesPage()
{
    return print "Sales";
}
function medicalPage()
{
    return print "Medical";
}

我读过这篇文章,但我无法解决我的问题。 WordPress replace content of a page (plugin)

我已经阅读过Wordpress文档,但我找不到任何内容。

我发现自己是一个使用短代码的解决方案。

global $wpdb;
global $wp_query;
add_shortcode( 'sector_page_display', 'check_which_page' );
function check_which_page()
{

    $page_type=get_post_type();
    $page_id=get_the_ID();
    //echo $page_id;

    switch($page_id)
    {
        case 50:technologyPage();break;
        case 82:medicalPage();break;
    }   
}
function technologyPage()
{
    return print "Technology";
}
function medicalPage()
{
    return print "Medical";
}

看到我改为add_shortcode

而不是add_action

然后在每个页面上,我将用来显示我添加的数据库中的信息

[sector_page_display]
在页面中

,所以它调用我的方法。如果需要,可以在那里添加变量。

1 个答案:

答案 0 :(得分:0)

您需要在WordPress完全加载之前运行该代码。

试试这个

global $wpdb;
global $wp_query;
add_action( 'init', 'check_which_page' );
function check_which_page()
{

    $page_type=get_post_type();
    $page_id=get_the_ID();
    //echo $page_id;

    switch($page_id)
    {
        case 50:technologyPage();break;
        case 82:medicalPage();break;
    }   
}
function technologyPage()
{
    return print "Technology";
}
function salesPage()
{
    return print "Sales";
}
function medicalPage()
{
    return print "Medical";
}

我更改了add_action,以便在初始化WordPress时运行代码。