最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

wp admin - Call to undefined function insert_with_markers

programmeradmin7浏览0评论

I'm experimenting with creating a function to write code into htaccess (I understand the security issues associated). I'm currently using the function insert_with_markers() as a starting point however its throwing a 'call to undefined function' error.

I am using it within a function that is only running whilst logged into the Admin Dashboard.

I understand that the function if found in the file: wp-admin/includes/misc.php but I made the assumption that this file is loaded whilst within the Admin Dashboard anyway, so I don't need to include it?

If I manually include the file, the function runs correctly.

My question is: does the wp-admin/includes/misc.php file not get loaded by default when logged in to the Dashboard? Or is it only loaded in certain cirumstances?

I'm experimenting with creating a function to write code into htaccess (I understand the security issues associated). I'm currently using the function insert_with_markers() as a starting point however its throwing a 'call to undefined function' error.

I am using it within a function that is only running whilst logged into the Admin Dashboard.

I understand that the function if found in the file: wp-admin/includes/misc.php but I made the assumption that this file is loaded whilst within the Admin Dashboard anyway, so I don't need to include it?

If I manually include the file, the function runs correctly.

My question is: does the wp-admin/includes/misc.php file not get loaded by default when logged in to the Dashboard? Or is it only loaded in certain cirumstances?

Share Improve this question asked Jul 24, 2020 at 14:26 t2pet2pe 4823 silver badges11 bronze badges
Add a comment  | 

2 Answers 2

Reset to default 4

Looks like insert_with_markers() function becomes available during admin_init hook. So in order for your code to work, you should do the following:


function do_my_htaccess_stuff_371705() {
//function `insert_with_markers()` is working now
}

add_action('admin_init', 'do_my_htaccess_stuff_371705');

By looking at the source of the latest version, it shows that misc.php only gets included in one place at wp-admin/includes/admin.php. The include there is unconditional. That file in turn gets included seemingly unconditionally in wp-admin/admin.php, and this is required unconditionally as the first line in wp-admin/index.php.

So it appears that it should be the case that's always available in the admin dashboard. If it's not, I'd suggest looking in more detail at what happens in wp-admin/admin.php in case something is going on there which bails out early.

EDIT: Note that PHP gives you the require_once() command which means that it's safe to include the file using require_once more than once, so you don't lose or risk anything going wrong by putting a require_once to that file in your code.

发布评论

评论列表(0)

  1. 暂无评论