我有一個重新聲明的問題,我只是想了解爲什麼有人能夠啓發我。Redeclare函數錯誤
這是我的代碼。
function createAdminPage($dialarg,$topsnamearg,$shortnamearg) {
global $dial;
$dial = $dialarg;
global $topsname;
$topsname = $topsnamearg;
global $topname;
$topname = "Top ".$dial;
global $shortname;
$shortname = $shortnamearg;
function createArrays($i){
global $shortname;
$arr = array (
"name" => "Canción ".$i,
"desc" => "Escriba el nombre de la canción ".$i,
"autor" => "Autor ".$i,
"desc_autor" => "Escriba el Nombre del Autor ".$i,
"id" => $shortname."cancicon_".$i,
"va_autor" => $shortname."autor_".$i,
"type" => "text",
"std" => "");
return $arr;
}
global $options;
$options = array (
array("name" => "Top ".$dial, "type" => "title"),
array("type" => "open"),
createArrays(1),
createArrays(2),
createArrays(3),
createArrays(4),
createArrays(5),
createArrays(6),
createArrays(7),
createArrays(8),
createArrays(9),
createArrays(10),
array("type" => "close")
);
function cl_add_admin() {
global $topname, $shortname, $options, $dial;
if ($_GET['page'] == basename(__FILE__)) {
if ('save' == $_REQUEST['action']) {
foreach ($options as $value) {
update_option($value['id'], $_REQUEST[ $value['id'] ]);
update_option($value['va_autor'], $_REQUEST[ $value['va_autor'] ]);
foreach ($options as $value) {
if(isset($_REQUEST[ $value['id'] ])) { update_option($value['id'], $_REQUEST[ $value['id'] ] ); } else { delete_option($value['id']); }
if(isset($_REQUEST[ $value['va_autor'] ])) { update_option($value['va_autor'], $_REQUEST[ $value['va_autor'] ] ); } else { delete_option($value['va_autor']); }
}
header("Location: themes.php?page=functions.php&saved=true");
die;
}
} else if ('reset' == $_REQUEST['action']) {
foreach ($options as $value) {
delete_option($value['id']);
delete_option($value['va_autor']);
}
header("Location: themes.php?page=functions.php&reset=true");
die;
}
}
add_menu_page($topname, 'Tops Circuito Lider', 'edit_themes', $dial.'-handle', 'cl_admin');
add_submenu_page($dial.'-handle', $topname, $topname, 'edit_themes', $dial.'sub-handle', 'cl_admin');
}
function cl_add_init() {
$file_dir=get_bloginfo('template_directory');
wp_enqueue_style("functions", $file_dir."/functions/options_panel.css", false, "1.0", "all");
}
function cl_admin() {
global $topname, $shortname, $options;
//echo $topname;
//print_r($options);
if ($_REQUEST['saved']) echo '<div id="message" class="updated fade"><p><strong>'.$topname.' settings saved.</strong></p></div>';
if ($_REQUEST['reset']) echo '<div id="message" class="updated fade"><p><strong>'.$topname.' settings reset.</strong></p></div>';
?>
<div class="wrap">
<h2>Configurar <?php echo $topname; ?></h2>
<form method="post">
<?php
foreach ($options as $value) {
switch ($value['type']) {
case "open":
?>
<table width="100%" border="0" style="background-color:#cdcdcd; padding:10px;">
<?php break;
case "close":
?>
</table><br />
<?php break;
case "title":
?>
<table width="100%" border="0" style="background-color:#868686; padding:5px 10px;"><tr>
<td colspan="2"><h3 style="font-family:Georgia,'Times New Roman',Times,serif;"><?php echo $value['name']; ?></h3></td>
</tr>
<?php break;
case 'text':
//echo "begins";
?>
<tr>
<td width="20%" rowspan="2" valign="middle">
<strong><?php echo $value['name']; ?></strong>
<br />
<strong><?php echo $value['autor']; ?></strong>
</td>
<td width="80%">
<input style="width:400px;" name="<?php echo $value['id']; ?>" id="<?php echo $value['id']; ?>" type="<?php echo $value['type']; ?>" value="<?php if (get_settings($value['id']) != "") { echo get_settings($value['id']); } else { echo $value['std']; } ?>" /><br />
<small><?php echo $value['desc']; ?></small>
<br />
<input style="width:400px;" name="<?php echo $value['va_autor']?>" id="<?php echo $value['va_autor']?>" type="<?php echo $value['type']; ?>" value="<?php if (get_settings($value['va_autor']) != "") { echo get_settings($value['va_autor']); } else { echo $value['std']; } ?>" /><br />
<small><?php echo $value['desc_autor']; ?></small>
</td>
</tr>
<tr><td colspan="2" style="margin-bottom:5px;border-bottom:1px dotted #000000;"> </td></tr><tr><td colspan="2"> </td></tr>
<?php
break;
}
//echo "after break";
}
?>
<style type="text/css" />
.submit {
display:inline;
width:200px;
}
</style>
<p class="submit">
<input name="save" type="submit" value="Guardar" />
<input type="hidden" name="action" value="save" />
</p>
<p class="submit">
<input name="reset" type="submit" value="Borrar todos" />
<input type="hidden" name="action" value="reset" />
</p>
</form>
</div>
<?php
}
add_action('admin_menu', 'cl_add_admin');
add_action('admin_init', 'cl_add_init');
}
這就是我如何從另一個文件
include("includes/_createTop.php");
createAdminPage("923","Lider 92.3 FM","cl_923");
createAdminPage("931","Romance 93.1 FM","cl_931");
事情是我想再次使用它們:S但具有不同的值,爲什麼參數是不同的,如果我把它從函數createAdminPage中拿出來,我將無法重用具有不同值的代碼:( – 2010-10-13 00:57:48
只是爲了澄清,因爲我需要使用代碼3次,但具有不同的變量值,如果我把它從函數中取出幷包含它3次,我會得到相同的錯誤,這就是我想要重用的錯誤代碼:)對不起 – 2010-10-13 01:06:23
有沒有辦法'include_once()'而不是'include()'? – BoltClock 2010-10-13 07:43:18