Я хотел бы динамически называть функции, чтобы я мог повторно использовать функцию.
Я знаю, что второй фрагмент кода не работает, но он иллюстрирует то, что я пытаюсь сделать.
function loadMeta($postname){
add_action( 'init', 'register_post_type_' . $postname );
//this doesn't work:
function register_post_type_ . $postname() {
//dothis
}
}
Для фона я пытаюсь создать пользовательские типы сообщений в Wordpress с функцией многократного использования. Таким образом, я могу создавать пользовательские типы сообщений с функцией, подобной той, что указана ниже.
$postname = 'portfolio';
loadMeta($postname);
$postname = 'news';
loadMeta($postname);
Может ли кто-нибудь сказать мне правильный способ сделать это?
вы не можете, насколько мне известно, создать функцию внутри функции, вам придется передать ее
тестирование подтверждает, что вы можете объявить функцию... в функции... это нелепо XD






поэтому я думаю, что вы можете использовать анонимный
function loadMeta($postname){
add_action( 'init', function() use ($postname) {
...
});
Я не знаю crapress, но если вы можете передать метод объекта, то определите метод
__callв классе.