创建一个模板来加载同一页面上iframe中的内容——我甚至还没有使用ajax来避免重新加载整个页面,因为表单提交不起作用。submit按钮返回一个没有查询字符串的空URL:(任何想法
<?php
/*
Template Name: Options Page
*/
get_header();
?>
<?php
$options= $_GET[\'options\']? $_GET[\'options\'] : "option1";
$options = ucfirst($options);
?>
<section class="post-meta fix post-nothumb media"><section class="bd post-header fix" ><section class="bd post-title-section fix"><hgroup class="post-title fix">
<h1 class="entry-title pagetitle"><?php echo $options; ?></h1>
</hgroup></section></section></section>
<form id="oselector" method="GET" action="<?php the_permalink(); ?>">
<select name="options">
<option <?php if ($_GET[\'options\'] == 0) { ?>selected="true" <?php }; ?> value="0">Select Option</option>
<option <?php if ($_GET[\'options\'] == "option1") { ?>selected="true" <?php }; ?> value="option1">Option 1</option>
<option <?php if ($_GET[\'options\'] == "option2") { ?>selected="true" <?php }; ?> value="option2">Option 2</option>
</select>
<input type="submit" value="Submit">
</form>
</div></div></div></div></div></div>
<iframe id="theme" src="http://www.example.com/<?php echo $options; ?>/" seamless style="border-radius: 7px; border: 1px solid rgb(218,218,219);margin: 0 auto;width: 95%; height: 100%; overflow-x: auto; min-height:800px" >
<p>Your browser does not support iframes.</p>
</iframe>
<?php
get_footer();
SO网友:Charles Clarkson
问题可能出在这里:
<form id="oselector" method="GET" action="<?php the_permalink(); ?>">
您的代码不在
WordPress Loop. 根据
Function Reference (增加强调):
\\u permalink()-显示循环中当前正在处理的帖子的permalink的URL。This tag must be within The Loop, 和通常用于在显示帖子时显示每个帖子的永久链接。由于此模板标记仅限于显示正在处理的帖子的永久链接,因此您不能使用它在日志上显示任意帖子的永久链接。Refer to get_permalink() if you want to get the permalink for a post, given its unique post id.
您可以尝试以下操作:
<form id="oselector" method="GET" action="<?php echo get_permalink( get_queried_object_id() ); ?>">