我有一个真正的大脑发痒者,我已经与它搏斗了几天。
我正在为某人(在 http://www.lydiala.com/ )创建一个 WordPress 网站,并使用简单的 WordPress Paypal 购物车插件。
我想在我的 header.php 文件的右上角显示购物车中的商品总数。
我想出了一个成功返回这个数字的函数,并将它添加到插件的主 PHP 文件中,位于 /wp-content/plugins/wordpress-simple-paypal-shopping-cart/wp_shopping_cart.php
(与所有其他函数一起)。
我在 wp_shopping_cart.php 中采用了以下现有功能:
function simple_cart_total() {
$grand_total = 0;
foreach ((array)$_SESSION['simpleCart'] as $item){
$total += $item['price'] * $item['quantity'];
$item_total_shipping += $item['shipping'] * $item['quantity'];
}
$grand_total = $total + $item_total_shipping;
return number_format($grand_total,2);
}
然后我复制了它,重命名并更改如下:
function total_items() {
$grand_total = 0;
foreach ((array)$_SESSION['simpleCart'] as $item){
$total += $item['quantity'];
}
$grand_total = $total;
return number_format($grand_total);
}
现在,在我的 header.php 中我有:
echo total_items();
效果非常好!
但是,以后插件更新时,当wp_shopping_cart.php被新版本覆盖时,这个新增功能将丢失。
有没有办法将我的自定义函数附加到这个外部 .php
文件?我已经尝试了一些方法,但大多数方法都不起作用,因为它们试图加载 wp_shopping_cart.php,该文件已经已加载(“无法重新声明”等)。
如果情况变得更糟,我总是可以告诉客户在有此插件的更新时给我打电话。
最佳答案
我建议将其添加到不同的插件中。
paypall-totals.php 在你的 wp-content/plugins
(不要忘记在 wp-admin 中激活)
/*
plugin-name: paypall totals
description: adds a function to show paypall totals
pluginURI: http://stackoverflow.com/q/17066291/933065
*/
function paypall_total_items() {
session_start();
$grand_total = 0;
foreach ((array)$_SESSION['simpleCart'] as $item){
$total += $item['quantity'];
}
$grand_total = $total;
return number_format($grand_total);
}
因为它只从 $_SESSION
中获取数据,所以你把这个函数放在哪里并不重要。它也适用于您的主题 functions.php
同时调整header.php中的代码:echo paypall_total_items();
只需将 paypall 插件恢复为其原始代码即可。
让我知道。
关于php - 从外部向 WordPress 插件的 PHP 文件添加函数(允许轻松更新版本),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17066291/