我试图剥离“211主题选项”页面并添加我自己的字段更正:我在某个地方遵循了一个教程,但当我尝试回显数据时,它会出现多次。
这是我的主题选项。php:http://pastebin.com/HSZM56jA
我是这样回应的:
<?php
$options = get_option(\'gavsiu_theme_options\');
echo $options[\'message-primary\'];
echo $options[\'message-secondary\'];
?>
它出现了11次。
这是主要信息。这是第二条消息。这是主要信息。这是第二条消息。这是主要信息。这是第二条消息。这是主要信息。这是第二条消息。这是主要信息。这是第二条消息。这是主要信息。这是第二条消息。这是主要信息。这是第二条消息。这是主要信息。这是第二条消息。这是主要信息。这是第二条消息。这是主要信息。这是第二条消息。这是主要信息。这是第二条消息。
我检查了mySQL,数据保存了一次。保存句子时没有重复或错误。
print\\r$options显示它多次打印出数组,因此当我回显“message primary”时,它会回显每个数组中的每个匹配项。
我在头版回应了这一点。再次保存字段并没有改变任何内容。
正如我所说,它被正确地保存到数据库中。在里面wp_options
> gavsiu_theme_options
:
a:2:{s:15:"message-primary";s:25:"This is the main message.";s:17:"message-secondary";s:30:"This is the secondary message.";}
最合适的回答,由SO网友:Milo 整理而成
这些选项在循环中输出,因此在循环的每次迭代中都会重复。
要在循环内进行检查并仅在第一次迭代时输出某些内容,请执行以下操作:
while ( have_posts() ) : the_post();
if( $wp_query->current_post == 0 ):
// this is the first post
// output your options
endif;
// other loop stuff, title, content, etc.
endwhile;
同样,要检查您是否在循环的最后一个帖子上:
while ( have_posts() ) : the_post();
if( $wp_query->current_post == ( $wp_query->post_count - 1 ) ):
// this is the last post
endif;
endwhile;