Исключить текущую публикацию из виджета последних публикаций

В плагине для отображения последних сообщений в виджете боковой панели, как мы можем применить фильтр к файлу functions.php плагина, чтобы он не отображал текущую страницу / сообщение?

Автор плагина ответил, прежде чем он вошел в долгое молчание: «Вы можете добавить настраиваемый параметр в фильтр rpwe_default_query_arguments. Просто добавьте exclude => get_the_ID () в фильтр».

Здесь мы его добавляем?

// Allow plugins/themes developer to filter the default query.
    $query = apply_filters( 'rpwe_default_query_arguments', $query );

Как?

Это плагин: https://wordpress.org/plugins/recent-posts-widget-extended/

На этом сайте я нашел довольно простое руководство: http://themeshaper.com/2009/05/03/filters-wordpress-child-themes/, но потом ... Это приводит к ошибкам на моем сайте (localhost) при попытке исправить синтаксис. "=>", кажется, используется неправильно.

Вот что у меня есть: add_filter ('rpwe_default_query_arguments', 'rpwe_exclude_current'); функция rpwe_exclude_current ($ query) {'exclude' => get_the_ID () $ posts = new WP_Query ($ query); вернуть $ posts; }


person Rodrigo Cardoso    schedule 15.01.2015    source источник


Ответы (1)


Вот ответ, который сработал в моей ситуации:

add_filter( 'rpwe_default_query_arguments', 'my_function_name' );
function my_function_name( $args ) {
    if( is_singular() && !isset( $args['post__in'] ) )
    $args['post__not_in'] = array( get_the_ID() );
    return $args;
}

Вот сайт, на котором я его нашел.

person Rodrigo Cardoso    schedule 20.01.2015