在管理部分,我使用quesry帖子来获取自定义帖子的标题和内容
此query\\u posts(\'post\\u type=sfnewsletter\');将获得我需要的内容,但不幸的是,我现在需要做的是通过表单传递自定义帖子的ID,然后检索该内容
我试过了
query_posts(\'p=32\');
query_posts(\'page_id=32\');
query_posts(\'page=32\');
query_posts(\'sfnewsletter_id=32\');
而且我不仅没有得到正确的自定义帖子,其中一些人还返回了ID为14的帖子(不是第一篇或最后一篇帖子)
我已经确认32是我试图获取的自定义帖子的正确ID。
这是表格
它正确传递ID
<form method="post" action="<?php echo sfn_form_url(); ?>" >
<table class="form-table">
<tr valign="top"><th scope="row"><?php _e( \'To\', \'sfnewsletter\' ); ?></th>
<td>
<select name="sfnewsletter_to" id="sfnewsletter_to">
<option value="0">Please Choose</option>
<?php wp_dropdown_roles() ?>
</select>
</td>
</tr>
<tr valign="top"><th scope="row"><?php _e( \'Newsletter\', \'sfnewsletter\' ); ?></th>
<td>
<select name="sfnewsletter_newsletter" id="sfnewsletter_newsletter">
<option value="0">Please Choose</option>
<?php
query_posts(\'post_type=sfnewsletter\');
if (have_posts()) : while (have_posts()) : the_post();
echo \'<option value="\' .get_the_ID(). \'">\' .get_the_title(). \'</option>\';
endwhile; endif;
?>
</select>
</td>
</tr>
</table>
<p class="submit">
<input id="sfnewsletter_hidden" class="regular-text" type="hidden" name="sfnewsletter_hidden" value="<?php esc_attr_e( \'SEND\' ); ?>" />
<input type="submit" class="button-primary" value="<?php _e( \'Send Message\', \'sfnewsletter\' ); ?>" />
</p>
</form>
这就是我想到的解决方案。答案是我接受了正确的方法,但我的方法是胡说八道
好的,我已经想出了一个适合我的工作环境。
因为我似乎无法在查询中使用我的自定义帖子ID,所以我使用了表单中的ID并将其转换为永久链接,然后在查询中使用它,如下所示
$sfnewsletter_slug = basename( get_permalink($sfnewsletter_newsletter) );
$the_query = new WP_Query( array( \'post_type\' =>\'sfnewsletter\', \'posts_per_page\'=>1, \'name\'=>$sfnewsletter_slug ) );
这给了我想要的输出。
<小时>