だから私のプラグインの中に私は次のコードがあります。 custom_postから質問を受けます。 AJAX/JSONによる更なる更新が可能になるようにここでそれを処理しています、そしてページは1つのタイプのデータソースのために設定される必要があるだけです。
$observations = new WP_Query($args);
if ( $observations-> have_posts() ) :
$questionpost = $observations->posts[0];
$question = array (
'id' => $questionpost->ID,
'title' => $questionpost->post_title,
'name' => $questionpost->post_name,
'excerpt' => $questionpost->post_excerpt,
'content' => $questionpost->post_content,
'code' => get_post_meta( $questionpost->ID, 'code', true ),
'edit_link' => get_edit_post_link($questionpost->ID),
);
if ( has_post_thumbnail($questionpost->ID) ) {
$question['thumbnail'] = get_the_post_thumbnail( $questionpost->ID, 'full', array('class' => 'card-img-top'));
} else {
$question['thumbnail'] = get_template_directory_uri()."/img/no-image.png";
}
print_r($question);
}
Get_edit_post_link以外はすべてうまくいきます - print_r dumpは次のとおりです。
Array ( [id] => 208 [title] => Main ... pipework. [name] => nr-60 [excerpt] => [content] => The ... external. [code] => NR [edit_link] => [thumbnail] => http://.../img/no-image.png )
https://codex.wordpress.org/Function_Reference/edit_post_link IDを渡すことができるので、これが空白の理由がわかりません。
これは、特定の機能がループの一部としてより適切に機能する場合の1つです。ループを使用していますが、実際には完全なWPループ機能を使用しているわけではありません。
'posts_per_page'=> 1
を$args
に追加して1つの投稿を取得してから、$questionpost = $observations->posts[0];
を欠落しているループ構造、つまりwhile($observations->have_posts()) : $observations->the_post();
(終了endwhile;
もちろん)。これにより、通常のループ内関数(たとえば、get_the_ID()
、get_the_title()
など)を使用し、IDを渡さずにget_edit_post_link()
を使用してみることができます。