跟进: Apply a specific class/id to current page on menu (PHP)
这是我正在使用的代码:
<div id="bottoni" style="float:right;margin-top:30px;margin-right:30px">
<?php
// funzione per ottenere la class 'current' per la pagina che si sta visitando
function get_current($name) {
if (strpos($_SERVER['REQUEST_URI'], $name) !== false)
echo 'id="current"';
}
?>
<a <?php get_current('biografia') ?> href="<?php echo esc_url( home_url( '/' ) ); ?>biografia/"><img style="width:120px;margin-right:25px" src="http://robertocavosi.com/beta/wp-content/themes/robertocavosi/images/bottone_robertocavosi.jpg"></a>
<a <?php get_current('attore') ?> <?php get_current('regista') ?> <?php get_current('autore') ?> <?php get_current('riconoscimenti') ?> <?php get_current('pubblicazioni') ?> <?php get_current('insegnamento') ?> id="tooltipclick"><img style="width:120px;margin-right:25px;cursor:pointer" src="http://robertocavosi.com/beta/wp-content/themes/robertocavosi/images/bottone_curriculum.jpg"></a>
<a <?php get_current('gallery') ?> href="<?php echo esc_url( home_url( '/' ) ); ?>gallery/"><img style="width:120px;margin-right:25px;border:0" src="http://robertocavosi.com/beta/wp-content/themes/robertocavosi/images/bottone_gallery.jpg"></a>
<a <?php get_current('itinera') ?> href="<?php echo esc_url( home_url( '/' ) ); ?>itinera/"><img style="width:120px;margin-right:25px;border:0" src="http://robertocavosi.com/beta/wp-content/themes/robertocavosi/images/bottone_itinera.jpg"></a>
<a <?php get_current('contatti') ?> href="<?php echo esc_url( home_url( '/' ) ); ?>contatti/"><img style="width:120px;border:0" src="http://robertocavosi.com/beta/wp-content/themes/robertocavosi/images/bottone_contatti.jpg"></a>
</div>
我想在一个“电话”中指定所有这些:
<?php get_current('attore') ?> <?php get_current('regista') ?> <?php get_current('autore') ?> <?php get_current('riconoscimenti') ?> <?php get_current('pubblicazioni') ?> <?php get_current('insegnamento') ?>
我尝试过:
<?php get_current('attore', 'regista', 'autore', 'riconoscimenti', 'pubblicazioni', 'insegnamento') ?>
但它不起作用......
答案 0 :(得分:1)
如果函数被设计为接受多个参数,那么你不能指望只传递一个函数多个参数并让它工作。
相反,将您的参数放在一个数组中并在循环中调用该函数:
<?php
$args = array('attore', 'regista', 'autore', 'riconoscimenti', 'pubblicazioni', 'insegnamento');
foreach ($args as $arg) { get_current($arg); }
?>
答案 1 :(得分:1)
您可以使用func_get_args执行此操作:
<?php
// funzione per ottenere la class 'current' per la pagina che si sta visitando
function get_current() {
foreach(func_get_args() as $arg) {
if (strpos($_SERVER['REQUEST_URI'], $arg) !== false) {
echo 'id="current"';
break;
}
}
}
?>
答案 2 :(得分:1)
像这样使用func_get_args()
:
<?php
function get_current() {
foreach (func_get_args() as $arg) {
if (strpos($_SERVER['REQUEST_URI'], $arg) !== false)
echo 'id="current"';
}
}
然后你可以从HTML调用该函数:
<a <?php get_current('attore', 'regista', 'autore') ?> id="tooltipclick"><img src="http://robertocavosi.com/beta/wp-content/themes/robertocavosi/images/bottone_curriculum.jpg"></a>