编辑了我的问题,使其更加简洁
使用Wordpress插件事件管理器,我的目标是改变搜索表单,以便它在单个日期搜索事件。我不想要内置的日期范围搜索。
我的大多数活动都是夜总会活动,一直持续到第二天。因此,我还想更改事件搜索,以便如果我搜索8月18日星期六,我不希望它显示星期五开始但星期六凌晨3点结束的事件。
编辑了我的问题,使其更加简洁
使用Wordpress插件事件管理器,我的目标是改变搜索表单,以便它在单个日期搜索事件。我不想要内置的日期范围搜索。
我的大多数活动都是夜总会活动,一直持续到第二天。因此,我还想更改事件搜索,以便如果我搜索8月18日星期六,我不希望它显示星期五开始但星期六凌晨3点结束的事件。
我发现了一种不用破解代码就能解决此问题的设置:
事件管理器设置页面->页面选项卡->事件/列表存档
您会发现一个选项“当前事件是过去的事件吗?”设置为“是”。例如,这将导致对星期日的搜索不显示在星期六之前开始的事件。
然后只需在搜索表单中输入日期,而不是输入日期范围。。似乎对我很有用。
我解决了这个问题。首次添加
$args[\'scope\'] = $_REQUEST[\'scope\'][0];
到事件列表。php下线: em_locate_template(\'templates/events-search.php\',true);
这将阻止搜索查找日期范围,而只搜索单个日期。然后在事件搜索中。php,删除结束日期的第二个框。然后在events manager插件文件夹“classes”文件em events中。php
这是196行的样子。请注意,我去掉了两行之间多余的空格,所以我的196行可能与你的不一样。。搜索“if($events\\u count>0)”,我将从这行开始:
if ( $events_count > 0 ) {
foreach ( $events as $EM_Event ) {
if ( !$args[\'scope\'] || ( $args[\'scope\'] == $EM_Event->event_start_date ) ) {
$output .= $EM_Event->output($format);
$stop_now = false;
}
else {
$output = get_option ( \'dbem_no_events_message\' );
$stop_now = true; // so that we don\'t add a header and footer if there are no events displayed
}
}
if ( !$stop_now ) { // if there are events to display
//Add headers and footers to output
if( $format == get_option ( \'dbem_event_list_item_format\' ) ){
$format_header = ( get_option( \'dbem_event_list_item_format_header\') == \'\' ) ? \'\':get_option ( \'dbem_event_list_item_format_header\' );
$format_footer = ( get_option ( \'dbem_event_list_item_format_footer\' ) == \'\' ) ? \'\':get_option ( \'dbem_event_list_item_format_footer\' );
}else{
$format_header = ( !empty($args[\'format_header\']) ) ? $args[\'format_header\']:\'\';
$format_footer = ( !empty($args[\'format_footer\']) ) ? $args[\'format_footer\']:\'\';
}
$output = $format_header . $output . $format_footer;
}
可以创建字母顺序搜索,如下所示:A | B | C | D |等每个字母都是一个链接,因此当点击时,它会显示所有以“a”或“B”等开头的帖子。如果是这样,我该怎么做?