我是php wordpress短代码的新手,我遇到了有关创建我可以插入内容的短代码的问题。我正在创建的函数/短代码没有输入值。问题是,当我在内容中使用它时,所有内容似乎都消失了,并且函数中没有显示任何内容。当我尝试回应它而不是通过短代码时,该功能自身起作用。我做错了什么
getHTML正在调用另一个函数,但没有理由添加它,因为它有效。希望能为我的错误做一些指导,使这个短代码工作
include(TEMPLATEPATH . '/simple_html_dom.php');
function getGames() {
$html = str_get_html(getHTML('http://URL',10));
//$title = str_replace(array("\n", "\r"), '',$html->find("/[@id='main']/div[1]/div[2]/div[1]/h2/strong",0)->plaintext);
//$manuf = $html->find("/[@id='main']/div[1]/div[2]/div[3]/table/tbody/tr[1]/td[2]/strong",0)->plaintext;
$table = $html->find("/[@id='matches_list']/",0);
$livescore = '';
$livescore .= "<table class='match-table' cellspacing='0' cellpadding='0'>";
$livescore .= "<tbody>";
foreach($table->find("li") as $line){
$game = $line->find("a/span/img",0)->title;
if( $game == "CS:GO" or $game == "Hearthstone" or $game == "Dota 2" or $game == "StarCraft II" or $game == "League of Legends"){
$opp1 = $line->find("span.opp1",0)->plaintext;
$opp2 = $line->find("span.opp2",0)->plaintext;
$score = $line->find("span.score",0)->plaintext;
$livescore .= "<tr class='margin-tr'>";
$livescore .= "<td class='match-icon'>IC</td>";
$livescore .= "<td class='match-home'>". $opp1 ."</td>";
$livescore .= "<td class='match-score'>". $score ."</td>";
$livescore .= "<td class='match-away'>". $opp2 ."</td>";
$livescore .= "<td class='match-time'>22:00</td>";
$livescore .= "</tr>";
}
}
$livescore .= "</tbody>";
$livescore .= "</table>";
return $livescore;
}
add_shortcode('getGames', 'getGames');
答案 0 :(得分:0)
短代码名称应全部小写并使用所有字母,但数字和下划线也应该正常工作。要小心使用连字符(破折号),最好不要使用连字符。
将您的电话改为:
add_shortcode('games', 'getGames');
然后通过以下方式调用它:
[games]