Php 无法重新声明函数
我创建了一个WordPress插件,可以对社交媒体档案进行排序,并按订单号输出。我有一个问题,如果我在页面上有插件超过1次,我会得到错误:Php 无法重新声明函数,php,wordpress,function,bubble-sort,Php,Wordpress,Function,Bubble Sort,我创建了一个WordPress插件,可以对社交媒体档案进行排序,并按订单号输出。我有一个问题,如果我在页面上有插件超过1次,我会得到错误: Fatal error: Cannot redeclare bh_sort_profiles() (previously declared in /Users/brturpin/Sites/plugin-development/wp-content/plugins/bh-social- icons/inc/output.php:68) in /Users
Fatal error: Cannot redeclare bh_sort_profiles() (previously declared in
/Users/brturpin/Sites/plugin-development/wp-content/plugins/bh-social-
icons/inc/output.php:68) in /Users/brturpin/Sites/plugin-development/
wp-content/plugins/bh-social-icons/inc/output.php on line 78
我理解这是因为我用来对配置文件进行排序的函数现在被调用了两次,但不确定如何执行,因此我没有此错误:
代码:
$bh_social_profile_array = array (
array(
"id" => "facebook",
"url" => $facebook_url,
"class" => "icon-facebook",
"color" => $facebook_color,
"order" => $facebook_order
),
array(
"id" => "twitter",
"url" => $twitter_url,
"class" => "icon-twitter-1",
"color" => $twitter_color,
"order" => $twitter_order
),
array(
"id" => "pinterest",
"url" => $pinterest_url,
"class" => "icon-pinterest",
"color" => $pinterest_color,
"order" => $pinterest_order
),
array(
"id" => "instagram",
"url" => $instagram_url,
"class" => "icon-instagram",
"color" => $instagram_color,
"order" => $instagram_order
),
array(
"id" => "gplus",
"url" => $gplus_url,
"class" => "icon-gplus",
"color" => $gplus_color,
"order" => $gplus_order,
),
array(
"id" => "linkedin",
"url" => $linkedin_url,
"class" => "icon-linkedin",
"color" => $linkedin_color,
"order" => $linkedin_order
),
array(
"id" => "youtube",
"url" => $youtube_url,
"class" => "icon-youtube",
"color" => $youtube_color,
"order" => $youtube_order
),
array(
"id" => "rss",
"url" => $rss_url,
"class" => "icon-rss",
"color" => $rss_color,
"order" => $rss_order
),
);
function bh_sort_profiles($arr) {
$size = count($arr);
for ($i=0; $i<$size; $i++) {
for ($j=0; $j<$size-1-$i; $j++) {
if ($arr[$j+1]["order"] < $arr[$j]["order"]) {
swap($arr, $j, $j+1);
}
}
}
return $arr;
}
function swap(&$arr, $a, $b) {
$tmp = $arr[$a];
$arr[$a] = $arr[$b];
$arr[$b] = $tmp;
}
$bh_sorted_profiles = bh_sort_profiles($bh_social_profile_array);
?>
<div style="text-align: <?php echo $social_align; ?>;">
<?php foreach($bh_sorted_profiles as $i => $profile): ?>
<?php if ($profile["url"] != ""): ?>
<a href="<?php echo $profile["url"]; ?>" class="social-icons <?php echo $profile["class"]; ?>" style="background-color: <?php if ($profile['color'] != '') { echo $profile['color']; } ?>; color: <?php echo $text_color; ?>; font-size: <?php echo $font_size; ?>; border-radius: <?php echo $border_radius; ?>" target="<?php echo $new_window; ?>"></a>
<?php endif; ?>
<?php endforeach; ?>
</div>
$bh\u社会性\u档案\u数组=数组(
排列(
“id”=>“facebook”,
“url”=>$facebook\u url,
“类”=>“图标facebook”,
“颜色”=>$facebook\u颜色,
“订单”=>$facebook\u订单
),
排列(
“id”=>“twitter”,
“url”=>$twitter\u url,
“class”=>“icon-twitter-1”,
“颜色”=>$twitter\u颜色,
“订单”=>$twitter\u订单
),
排列(
“id”=>“pinterest”,
“url”=>$pinterest\u url,
“类”=>“图标pinterest”,
“颜色”=>$pinterest\u颜色,
“订单”=>$pinterest\u订单
),
排列(
“id”=>“instagram”,
“url”=>$instagram\u url,
“类”=>“图标instagram”,
“颜色”=>$instagram\u颜色,
“订单”=>instagram\u订单
),
排列(
“id”=>“gplus”,
“url”=>$gplus\u url,
“类”=>“图标gplus”,
“颜色”=>$gplus\u颜色,
“订单”=>$gplus\u订单,
),
排列(
“id”=>“linkedin”,
“url”=>$linkedin\u url,
“类”=>“图标linkedin”,
“颜色”=>$linkedin\u颜色,
“订单”=>$linkedin\u订单
),
排列(
“id”=>“youtube”,
“url”=>$youtube\u url,
“类”=>“图标youtube”,
“颜色”=>$youtube\u颜色,
“订单”=>$youtube\u订单
),
排列(
“id”=>“rss”,
“url”=>$rss\U url,
“类”=>“图标rss”,
“颜色”=>$rss\u颜色,
“订单”=>$rss\u订单
),
);
功能bh_排序_配置文件($arr){
$size=计数($arr);
对于($i=0;$id)在不同的文件中声明函数,并将其包含在include_once()
中。在不同的文件中声明函数,并将其包含在include_once()
中。