Как получить заголовок сообщения по умолчанию, в котором извлекаются сообщения определенного типа, и ссылку на него? - PullRequest
1 голос
/ 10 апреля 2020

Я использую следующий код для отображения заголовков постов типа постов, предоставленных гостевыми авторами:

    function myprefix_custom_grid_shortcode( $atts ) {

    // Parse your shortcode settings with it's defaults
    $atts = shortcode_atts( array(

        'posts_per_page' => '-1',
        'term'           => ''
    ), $atts, 'myprefix_custom_grid' );
$user_id = userpro_get_view_user( get_query_var('up_username') );
    // Extract shortcode atributes
    extract( $atts );

    // Define output var
    $output = '';





    // Define query
    $query_args = array(
    'author'=> $user_id,
        'post_type'      => 'items', // Change this to the type of post you want to show
        'posts_per_page' => $posts_per_page,
    );

    // Query by term if defined
    if ( $term ) {

        $query_args['tax_query'] = array(
            array(
                'taxonomy' => 'category',
                'field'    => 'ID',
                'terms'    => $term,

            ),
        );

    }

    // Query posts
    $custom_query = new WP_Query( $query_args );

    // Add content if we found posts via our query
    if ( $custom_query->have_posts() ) {

        // Open div wrapper around loop
        $output .= '<div>';

        // Loop through posts
        while ( $custom_query->have_posts() ) {

            // Sets up post data so you can use functions like get_the_title(), get_permalink(), etc
            $custom_query->the_post();

            // This is the output for your entry so what you want to do for each post.
            $output .= '<div>' . get_the_title() . '</div>';

        }

        // Close div wrapper around loop
        $output .= '</div>';

        // Restore data
        wp_reset_postdata();

    }

    // Return your shortcode output
    return $output;

}
add_shortcode( 'myprefix_custom_grid', 'myprefix_custom_grid_shortcode' );

Эти посты типа постов извлекаются в постах по умолчанию (так я создаю сайт каталога) следующий сеточный фильтр с динамическим запросом c (путем сопоставления заголовков сообщений по умолчанию с именами категорий типов сообщений):

    function items_query_args($query_args, $grid_name ) {
    if ($grid_name == 'items_grid') {

        $query_args['tax_query'] = array(
        array(
            'taxonomy' => 'itemscategories',
            'field'    => 'slug',
            'terms' => get_post_field( 'post_name' ),
        ),
    );
    $query_args['post_type'] = 'items';

    }

    return $query_args;

}
add_filter('tg_wp_query_args', 'items_query_args', 10, 2);

Таким образом, эти сообщения типа сообщений, отображаемые сеткой, извлекаются в сообщениях по умолчанию, и Первый код отображает только заголовки сообщений этого типа в профилях пользователей, чтобы увидеть, какой пользователь предоставил сообщения для какого типа сообщений.

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

Так, например, вместо отображения только «Заголовок сообщения типа сообщения», как это происходит сейчас, должно отображаться [«Заголовок сообщения типа поста« IN » Заголовок сообщения по умолчанию "].

Как изменить первый код так, чтобы он определял заголовок сообщения по умолчанию? где сообщение типа сообщения извлекается, чтобы оно показывало его в указанном выше формате и также ссылалось на него?

ОБНОВЛЕНИЕ: Я думаю, что мне придется рассчитывать отображение пользовательских имен таксономии "itemscategories". рядом с заголовками вместо заголовка поста, в который они встроены, поскольку они идентифицированы c. В конце концов кто-то может помочь сказать, как отобразить это вместо этого?

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