我正在修改键盘快捷键导航插件以适应我的网站。以下是插件:http://wordpress.org/extend/plugins/easy-keyboard-shortcut-navigation/
我不想让这个插件在2020页上运行。我试过了&& !is_page(\'2020\')
和|| !is_page(\'2020\')
在elseif
但它会继续运行该函数。
有什么想法吗?
Edit update: 根据要求,我正在删除代码片段,并包含位于上述URL的插件的完整代码。
add_action(\'wp_footer\',\'keyboard_shortcut_navigation\');
function keyboard_shortcut_navigation(){
global $paged, $wp_query;
if ( !$max_page )
$max_page = $wp_query->max_num_pages;
if ( !$paged )
$paged = 1;
$nextpage = intval($paged) + 1;
?>
<?php if( is_single() ) : ?>
<script type="text/javascript">
document.onkeydown = chang_page;function chang_page(e) {
var e = e || event,
keycode = e.which || e.keyCode;
var obj = e.target || e.srcElement;
if(obj.tagName.toLowerCase()=="textarea"){return;}
if(obj.tagName.toLowerCase()=="input"){return;}
if (keycode == 33 || keycode == 37) location = \'<?php echo get_permalink(get_adjacent_post(false,\'\',false)); ?>\';
if (keycode == 34 || keycode == 39) location = \'<?php echo get_permalink(get_adjacent_post(false,\'\',true)); ?>\';
}
</script>
<?php elseif( is_home() || is_category() ) : ?>
<script type="text/javascript">
document.onkeydown = chang_page;function chang_page(e) {
var e = e || event,
keycode = e.which || e.keyCode;
var obj = e.target || e.srcElement;
if(obj.tagName.toLowerCase()=="textarea"){return;}
if(obj.tagName.toLowerCase()=="input"){return;}
if (keycode == 33 || keycode == 37) location = \'<?php echo get_previous_posts_page_link(); ?>\';
if (keycode == 34 || keycode == 39)
<?php if ( $nextpage <= $max_page ) : ?>
location = \'<?php echo get_next_posts_page_link(); ?>\';
<?php else : ?>
location = \'<?php echo get_pagenum_link( $max_page ); ?>\';
<?php endif; ?>
}
</script>
<?php endif; ?>
<?php
}
最合适的回答,由SO网友:s_ha_dum 整理而成
这适用于ID为675的“我的网站”上的页面:
function tst($content) {
if (is_page(675)) print(\'howdy\');
}
add_action(\'wp_footer\',\'tst\');
我只会在顶部中断函数。
function keyboard_shortcut_navigation(){
global $paged, $wp_query;
if (is_page(2020)) return; // for a post with ID 2020
if (is_page(\'2020\')) return; // for a post with slug or title "2020"
// you should only need one of those
// ... the rest
如果你说的是帖子而不是页面,那么你可能想要的是:
// old
<?php if( is_single() ) : ?>
// new
<?php if( is_single() && !is_single(2020)) : ?>
// use quotes if 2020 is the title or the slug
您正在入侵其他人的插件,因此在更新时可能会遇到问题。我会联系作者,并要求在下一个版本中提供一个钩子,允许您在不进行任何黑客攻击的情况下完成此操作。