Используйте добавить фильтр для связанной строковой переменной


У меня есть таблица HTML, которую я объединяю следующим образом:

$admin_table_output .= "Item Description: </td><td>";
$admin_table_output .= "<input type='text' name='name' value='$name'></td><td> (Optional)</td></tr><tr><td colspan='4'>";

$admin_table_output выводится эхом в конце. Это работает просто отлично.

Моя проблема в том, что я хочу использовать apply_filters для изменения переменной $admin_table_output следующим образом:

$admin_table_output .= "Item Description: </td><td>";

apply_filters('tabs_page_static_value',$admin_table_output);

$admin_table_output .= "<input type='text' name='name' value='$name'></td><td> (Optional)</td></tr><tr><td colspan='4'>";

Используя такой крючок:

function tabs_page_static_value_filter($admin_table_output) {

     $admin_table_output .= 'testing';

     return $admin_table_output;

}
add_filter('tabs_page_static_value','tabs_page_static_value_filter',10,1);

Однако это не работает. Я также попытался использовать вместо этого do_action, я попытался повторить переменную вместо того, чтобы возвращать ее, а также не объединять внутри крючок.

Я думаю, что мне, возможно, придется сделать что-то вроде переменной переменной, чтобы решить эту проблему. Есть какие-нибудь идеи?

 1
Author: Scott Paterson, 2018-08-16

1 answers

Как @Sally упоминает в комментарии. если вы хотите, чтобы другие могли расширить HTML-код. вы также должны добавить новый HTML-код, который они возвращают в фильтр.

Попробуйте использовать код ниже

$admin_table_output .= "Item Description: </td><td>";

$admin_table_output = apply_filters('tabs_page_static_value',$admin_table_output);

$admin_table_output .= "<input type='text' name='name' value='$name'></td><td> (Optional)</td></tr><tr><td colspan='4'>";
 2
Author: 1naveengiri, 2018-08-17 07:03:29