matthewmuro
  • 0
Учитель

Возможна ли фильтрация сообщений или категорий, которые пользователи XML-RPC видят в своих мобильных приложениях?

  • 0

Можно ли фильтровать сообщения или категории, которые пользователи XML-RPC видят в своих мобильных приложениях?

У меня есть плагин, который подключается pre_get_posts и list_terms_exclusions делает то, что мне нужно. У меня были просьбы разрешить ту же функциональность на их мобильных устройствах.

Share
  1. Веселая. Я только что смотрел это выступление на wp.tv wordpress.tv/2010/01/23/daniel-jalkut-apis-boston10, но оно остановилось через несколько минут. Может быть, ответ спрятан там…

    • 0
  2. Этот репозиторий github имеет bdn.getPosts расширенную функцию XML-RPC для получения категории.

    Получите 10 последних измененных постов в спортивной категории ($category может быть либо слагом, либо идентификатором)

       `array( 1, $username, $password, 'post', 'sports', 10, array( 'orderby' => 'modified' ) );`
    
    • 0
  3. На самом деле я сам не экспериментировал с этим, но когда я взломал файл xmlrpc.php, я заметил несколько действий do для xmlrpc_call.

    Я подозреваю, что вы можете добавить действия в зависимости от типа пользователя в вызов xmlrpc.
    Например, blogger_getPost() можно подключить с помощью xmlrpc_call, когда xmlrpc_call == blogger.getPost.

    • 0
  4. Итак, я нашел ответ на свой вопрос.

    Можно фильтровать сообщения и категории, которые пользователи видят в своем приложении XML-RPC. Фильтры pre_get_posts и list_terms_exclusions вызываются с помощью метода XML-RPC blogger.getRecentPosts. Внутри этой функции она вызывает, wp_get_recent_posts которая использует get_posts . Другими словами, вам действительно не нужно делать ничего особенного, если вы подключаетесь к вышеуказанным фильтрам.

    Моя проблема заключалась в том, что для моего плагина я фильтровал только в админке:if ( is_admin()

    РЕШЕНИЕ

    Чтобы убедиться, что он срабатывает только при запросе через приложение XML-RPC, все, что вам нужно сделать, это проверить константу XMLRPC_REQUEST и подключиться к xmlrpc_call действию.

    if ( defined ( 'XMLRPC_REQUEST' ) && XMLRPC_REQUEST ) {
        add_action( 'xmlrpc_call', array( &$this, 'posts' ) );
    }
    

    Внутри вашего обратного вызова подключитесь к фильтрам pre_get_posts и.list_terms_exclusions

    • 0

Оставить ответ

You must login to add an answer.