фильтр плагинов внутри другого плагина ajax вызов WordPress - PullRequest
0 голосов
/ 19 января 2020

Я хочу использовать плагин yoast seo в моем плагине ajax call. если я печатаю что-то в функции фильтра, ничего не происходит. это ajax код вызова:

add_action( 'wp_ajax_nopriv_submit_bo_plugin_form', 'submit_bo_plugin_form' );
add_action( 'wp_ajax_submit_bo_plugin_form', 'submit_bo_plugin_form' );

function submit_bo_plugin_form(){
    $response = array(
        'html' => '',
    );
    $form_params = isset( $_POST['form'] ) ? $_POST['form'] : '';
    $form_data   = array();
    parse_str( $form_params, $form_data );

    if( $form_data ){
        $bo_all_posts          = $form_data['bo_all_posts'];
        $bo_plugin_bc_location = $form_data['bo_plugin_bc_location'];
        $bo_plugin_bc_text     = $form_data['bo_plugin_bc_text'];
        $bo_plugin_bc_link     = $form_data['bo_plugin_bc_link'];

        add_filter( 'wpseo_breadcrumb_links', 'bo_plugin_change_breadcrumbs' );

        function bo_plugin_change_breadcrumbs( $links ) {
            //anything inside this function does not work

            if( is_single( $bo_all_posts ) || is_page( $bo_all_posts ) ) {
                $breadcrumb[] = array(
                    'url'  => $bo_plugin_bc_link,
                    'text' => $bo_plugin_bc_text
                );
                array_splice( $links, $bo_plugin_bc_location, 1, $breadcrumb );
            } else {
                $links = 'vdsvds';
            }
            $response['html'] = $links;
            return $links;
        }
    }
    echo json_encode($response);
    die();
}

1 Ответ

1 голос
/ 19 января 2020

Я понял, что это невозможно с ajax, я сделаю это с параметрами

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...