我正在尝试为我的 wordpress 网站创建两个简码,允许我使用搜索表单并在同一页面上打印结果,而无需 wordpress 本身提供的基本搜索“表单”。除了一个小问题外,此解决方案似乎有效。如果使用不存在的字符(或超过 2/3 位)执行搜索,我会收到 404 错误。
// functions.php
function custom_search_form() {
ob_start(); ?>
<form method="get" action="search/">
<div class="custom-form">
<label for="s">Search for:</label>
<input type="text" value="" name="s" id="s" />
<input type="hidden" value="webdev" name="host" id="host" />
<input type="submit" id="searchsubmit" value="Search" />
</div>
</form>
<?php return ob_get_clean(); }
add_shortcode( 'webdev_search_form', 'custom_search_form' );
function webdev_search_data() {
if(isset($_GET['host']) && $_GET['host'] == 'webdev'){
ob_start();
$args = array (
's' => $_GET['s'],
'post_type' => array('sfwd-courses','sfwd-topic'),
'post_status' => 'publish',
);
$query = new WP_Query($args);
if ($query->have_posts()){
while ($query->have_posts()) {
$query->the_post(); ?>
<p class="color00394B"><?php echo the_title(); ?></p>
<?php }
} else { ?>
<p class="color00394B">Nothing!</p>
<?php } wp_reset_postdata();
return ob_get_clean();
} else {
return null;
}
}
add_shortcode( 'webdev_search_data', 'webdev_search_data' );
这是我的 Yootheme Builder 源
[webdev_search_form]
[webdev_search_data]
有没有人有任何解决方案?谢谢你。亚历克斯