1

IDを使用してワードプレスの投稿のコンテンツを取得しようとしています:

$loadpost = url_to_postid($actual_link); 
$newpost = get_post($loadpost);
echo '<article id="post-'.$newpost["ID"].'"><h1>'.$newpost["post_title"].'</h1>'.$newpost["post_content"];

$ loadpostは有効なIDを返しますが、どういうわけかこの式は機能しません。IEは以下を返します:

Fatal error: Cannot use object of type stdClass as array in /hermes/waloraweb046/b428/moo.snippetspacecom/splittemplate/wp-content/themes/split/index.php on line 24

これは何を意味するのでしょうか?

助けてくれてありがとう。

4

3 に答える 3

2

なぜなら get_post(); デフォルトでは OBJECT として出力されます

返してほしいのは

echo '<article id="post-'.$newpost->ID.'"><h1>'.$newpost->post_title.'</h1>'.$newpost->post_content;
于 2012-09-10T01:18:44.810 に答える
1

すべての['']を->例に変更

$newpost->ID;
$newpost->post_title

wpは、ほとんどのパラメーターを配列としてではなくオブジェクトとして渡します。

于 2012-09-10T01:16:58.917 に答える
1

デフォルトでget_postはオブジェクトARRAY_Aを返し、連想配列を返すための2番目のパラメーターとして渡します。

$loadpost = url_to_postid($actual_link); 
$newpost = get_post($loadpost, ARRAY_A);
echo '<article id="post-'.$newpost["ID"].'"><h1>'.$newpost["post_title"].'</h1>'.$newpost["post_content"];
于 2012-09-10T01:17:21.537 に答える