首页 文章

function_exists,无法重新声明新功能

提问于
浏览
-2

我使用 wp-jalali wordpress插件它有一个函数 farsi_num . 我使用此功能,但如果未安装插件,则此功能未定义 .

我把以下代码放在我的 functions.php

if(!function_exists('farsi_num'))
function farsi_num( $val ) {
    return $val;
}

但是当用户想安装 wp-jalali 插件时我们有错误!

致命错误:无法在F:\ xampp \ htdocs \ wordpress \ wp-content \中重新声明farsi_num()(之前在F:\ xampp \ htdocs \ wordpress \ wp-content \ themes \ khoshkhabar \ functions.php:54中声明)第119行的plugins \ wp-jalali \ lib \ deprecated_fns.php

wp-admin/plugins.php

2 回答

  • 0

    尝试使用 add_filterLINK

    function.php

    function pippin_show_fruits() {
        $fruits = array(
            'apples',
            'oranges',
            'kumkwats',
            'dragon fruit',
            'peaches',
            'durians'
        );
        $list = '<ul>';
    
        if(has_filter('pippin_add_fruits')) {
            $fruits = apply_filters('pippin_add_fruits', $fruits);
        }
    
        foreach($fruits as $fruit) :
            $list .= '<li>' . $fruit . '</li>';
        endforeach;
    
        $list .= '</ul>';
    
        return $list;
    }
    echo apply_filter('pippin_show_fruits');   //CALL FUNCTION
    

    in your plugin

    function pippin_add_extra_fruits_plugin($fruits) {
            // the $fruits parameter is an array of all fruits from the pippin_show_fruits() function
    
            $extra_fruits = array(
                'plums',
                'kiwis',
                'tangerines',
                'pepino melons'
            );
    
            // combine the two arrays
            $fruits = array_merge($extra_fruits, $fruits);
    
            return $fruits;
        }
        add_filter('pippin_add_fruits', 'pippin_add_extra_fruits_plugin');
    
  • 0

    我理解你的问题 . 文件 deprecated_fns.php 中的错误未在 functions.php 中触发 . 因为之前包括 functions.php . 所以你必须检查文件 deprecated_fns.php 中的function_exits或者在 functions.php 中为你的函数使用其他名称

相关问题