2

我正在尝试制作一个 WordPress 插件。好吧,实际上它已经完成并完全正常工作,除了一件事。

我为插件添加了一个简码。但无论我在内容中的哪个位置调用此短代码,它获取的内容始终位于帖子的顶部,而不是我放置标签的位置。

输出一些东西的代码:

public static function showIncomingSearches(){

global $id;
$arSearches = self::getArObj(array('wp_post_id' => $id));

ob_start();
if(!empty($arSearches)){
$str = '<ul>' . PHP_EOL;        

    foreach($arSearches as $oSearch){
        $str .= '<li>'.htmlspecialchars($oSearch->searchterm).'</li>' . PHP_EOL;
    }

$str .= '</ul>';

if(!empty($arSearches))
    echo $str;
} else {
    echo ' ';
}

return ob_get_clean();

}

以及简码功能:

add_shortcode('show_incoming_searches', 'checkReferrer');
function checkReferrer(){
    incomingSearches::checkReferrer();  
    echo incomingSearches::showIncomingSearches();
}

我想知道的是,为什么它总是在内容之上?

4

1 回答 1

3

您的简码代码需要返回内容,而不是回显它。

function checkReferrer(){
    incomingSearches::checkReferrer();  
    return incomingSearches::showIncomingSearches();
}
于 2013-09-24T18:19:40.450 回答