从你的评论中,我真的不知道为什么你不应该使用自定义帖子类型和自定义字段。
那么,从上面可以看出,您有额外的灵活性。嗯,在尝试这样的事情时,额外的灵活性总是一个加号。这里的其他优点是,您不必使用额外的函数来创建这些功能,也不需要创建额外的db字段(我不建议您这样做,我真的不认为这里需要额外的db表)
我认为这里的问题是缺乏执行力。以下是一个基本想法:
你的第一步是register a custom post type. 这只是一个基本的自定义帖子类型,您可以决定将其从搜索中排除,并使用单独的单一视图。
这里最重要的部分是custom-fields
在supports
论点
这是一个修改后的法典示例
function codex_custom_init() {
$args = array(
\'supports\' => array( \'custom-fields\' ),
\'label\' => \'Quotes\'
);
register_post_type( \'quotes\', $args );
}
add_action( \'init\', \'codex_custom_init\' );
有关注册自定义帖子类型的更多示例和信息,请参见上面的链接
创建新报价时,现在可以创建和设置custom fields 相应地。根据问题中的字段命名自定义字段。这些值将是您输入的需要显示的信息。另外,请仔细查看提供的链接,以了解如何使用自定义字段。您可能还对this post
在显示时,需要使用自定义查询和瞬态。我们将利用WP_Query
对于将显示引号和Transient API 每日轮换报价。再次,阅读并使用所给链接中的示例。
这是一个概念查询(从codex修改而来,untested)
// Check for transient. If none, then execute WP_Query
if ( false === ( $quotes = get_transient( \'daily_quotes\' ) ) ) {
$quotes = new WP_Query(
array(
\'post_type\' => \'quotes\',
\'posts_per_page\' => 1,
\'orderby\' = \'rand\'
));
// Put the results in a transient. Expire after 24 hours.
set_transient( \'daily_quotes\', $quotes, 24 * HOUR_IN_SECONDS );
}
// Run the loop as normal
if ( $quotes->have_posts() ) {
while ( $quotes->have_posts() ) {
$quotes->the_post();
$data = get_post_meta( $post->ID );
echo \'Quote Text: \'. $data[\'Quote_Text\'][0] . \'</br>\';
echo \'Quote Timestamp: \' . $data[\'Quote_Timestamp\'][0] . \'</br>\';
// Continue with the rest
}
wp_reset_postdata();
}