Title: Plugin Cards
Author: Braad
Published: <strong>2015 年 5 月 11 日</strong>
Last modified: 2015 年 12 月 7 日

---

搜索插件

![](https://ps.w.org/plugin-cards/assets/banner-772x250.png?rev=1207047)

**该插件尚未通过WordPress的最新3个主要版本进行测试**。 当与较新版本的WordPress一起
使用时，可能不再受到维护或支持，并且可能会存在兼容性问题。

![](https://ps.w.org/plugin-cards/assets/icon-256x256.png?rev=1207047)

# Plugin Cards

 作者：[Braad](https://profiles.wordpress.org/braad/)

[下载](https://downloads.wordpress.org/plugin/plugin-cards.1.2.2.zip)

 * [详情](https://cn.wordpress.org/plugins/plugin-cards/#description)
 * [评价](https://cn.wordpress.org/plugins/plugin-cards/#reviews)
 *  [安装](https://cn.wordpress.org/plugins/plugin-cards/#installation)
 * [开发进展](https://cn.wordpress.org/plugins/plugin-cards/#developers)

 [支持](https://wordpress.org/support/plugin/plugin-cards/)

## 描述

Plugin Cards lets you display WordPress 4.0 style cards with plugin information 
for any plugin that lives on the wordpress.org repository. All of the custom queries
that are possible using the wordpress.org API are possible with this plugin, including
queries for plugins by:

 * Slug
 * 撰稿人
 * 标签
 * Search term
 * Brose terms: popular, new, & beta
 * A wordpress.org user’s favorites list
 * Any other custom query you pass in via an included filter

This plugin uses the same wordpress.org API that your wp-admin uses when you are
searching for new plugins, and it uses as much of the admin CSS and core functionality
as possible to bring you a purposefully stock experience.

I have also included a number of filters in the plugin that allow you to customize
everything. You can use a custom query, include custom fields not shown by default,
use custom icons, use custom plugin urls, add to or override the information shown
in each section of the output, override the entire output with your own, and more.

This plugin is [on Github](https://github.com/BraadMartin/plugin-cards) and I encourage
feature requests and pull requests.

#### 产品特点

 * Query the wordpress.org plugin repo by all methods supported by the wordpress.
   org API, including by slug, author, tag, popular, new, beta, user’s favorites,
   and search term
 * Cards match the design introduced in WordPress 4.0
 * Uses the wordpress.org API to get plugin information
 * Caches results to minimize hits on the API
 * Default fields include plugin name, icon, description, author link, star rating,
   active install count, last updated and compatible up to
 * Uses SVG plugin icon if available, then retina icon if available, then regular
   icon
 * Uses the WP native Dashicons for the star ratings
 * Intelligently Responsive
 * Easily customize the look of the cards with CSS
 * Easily customize the functionality of the entire plugin with provided filters

With Plugin Cards you can easily display a custom list of plugins for any purpose.

#### 用法

This plugin adds a shortcode `[plugin_cards]` that you can use to display the plugin
cards anywhere on your site.

The following parameters can be used to create your query:

    ```
    [plugin_cards slug="easy-digital-downloads"]
    [plugin_cards author="markjaquith"]
    [plugin_cards user="matt"] // Displays user's favorites list
    [plugin_cards tag="slider"]
    [plugin_cards browse="popular"]
    [plugin_cards browse="new"]
    [plugin_cards browse="beta"]
    [plugin_cards search="gallery"]
    ```

**Note:** The wordpress.org API only supports querying by one parameter at a time,
so currently only one parameter can be included in the shortcode to build the query.
If this ever changes I will add support for querying by multiple parameters to this
plugin.

**Note:** The parameter is required for the shortcode to work. Simply using [plugin_cards]
will result in a silent fail.

You can also set the max number of results using the max_results parameter like 
this:

    ```
    [plugin_cards max_results="10" browse="popular"]
    ```

#### Advanced Usage

This plugin includes a number of filters that you can use to customize the display
of the cards and add plugin information to the cards. I recommend reading through
the code if you really want to understand how the filters can be used. Here are 
some examples:

**Use a custom query**

    ```
    function custom_plugin_cards_query( $custom_query_args, $atts = array(), $fields = array() ) {

        // Show the 10 most popular plugins with only certain fields returned
        $custom_query_args = array(
            'per_page' => 10,
            'browse' => 'popular',
            'fields' => array(
                'banners' => true,
                'icons' => false,
                'reviews' => true,
                'rating' => true,
                'num_ratings' => true,
                'downloaded' => false,
                'active_installs' => false,
                'short_description' => false,
                'sections' => true,
                'downloadlink' => true,
                'last_updated' => true,
                'homepage' => true,
            )
        );

        return $custom_query_args;

    }
    add_filter( 'plugin_cards_api_query_args', 'custom_plugin_cards_query', 10, 3 );
    ```

Then you’d have to use one of the output filters and some CSS to get the new fields
to show on the page. There is a lot that is possible with the `plugin_cards_api_query_args`
filter, too much to cover here, but the key is setting the right main query param
and setting the fields that you want returned.

**Use custom URLs**

    ```
    function custom_plugin_card_urls( $plugin_url, $plugin = null ) {

        // Point URLs to a custom endpoint based on the plugin slug
        $plugin_url = 'https://domain.com/custom-plugins/' . esc_attr( $plugin->slug );

        // Change the URL of a specific plugin
        if ( 'woocommerce' === $plugin->slug ) {
            $plugin_url = 'http://www.woothemes.com/woocommerce/';
        }

        return $plugin_url;

    }
    add_filter( 'plugin_cards_plugin_url', 'custom_plugin_card_urls', 10, 2 );
    ```

The complete list of simple filters that work exactly like plugin_cards_plugin_urls
is:

    ```
    plugin_cards_plugin_url
    plugin_cards_plugin_name
    plugin_cards_short_description
    plugin_cards_plugin_author
    ```

There are also some advanced filters that allow you to override the HTML output 
of entire sections, including:

    ```
    plugin_cards_plugin_icon
    plugin_cards_action_links
    plugin_cards_plugin_rating
    plugin_cards_last_updated
    plugin_cards_install_count
    plugin_cards_plugin_compatibility
    ```

These filters can be used like this:

**Use custom plugin icons**

    ```
    function custom_plugin_card_icons( $plugin_icon, $plugin = null, $plugin_url = '' ) {

        // Replace all plugin icons with kittens
        $plugin_icon = '<a href="' . esc_url( $plugin_url ) . '" class="plugin-icon"><img src="http://domain.com/kittens.jpg" /></a>';

        // Replace the icon for a specific plugin
        if ( 'equal-height-columns' === $plugin->slug ) {
            $plugin_icon = '<a href="' . esc_url( $plugin_url ) . '" class="plugin-icon"><img src="http://domain.com/custom-icon.jpg" /></a>';
        }

        return $plugin_icon;

    }
    add_filter( 'plugin_cards_plugin_icon', 'custom_plugin_card_icons', 10, 3 );
    ```

There is also one special filter `plugin_cards_cache_expiration` that allows you
to set how long you want the results of the API request to be cached. The default
is 2 hours (expressed as number of seconds).

If you want a hook added just let me know. Pull requests are welcome [on Github](https://github.com/BraadMartin/plugin-cards).

## 屏幕截图

 * [[
 * Output from [plugin_cards browse=”popular”]
 * [[
 * Small screen single column view

## 安装

#### Manual Installation

 1. Upload the entire `/plugin-cards` directory to the `/wp-content/plugins/` directory.
 2. Activate Plugin Cards through the ‘Plugins’ menu in WordPress.

#### Better Installation

 1. Go to Plugins > Add New in your WordPress admin and search for Plugin Cards.
 2. Click Install.

## 常见问题

  How does it work?

When you navigate to the plugin install screen from the wp-admin dashboard on your
site, a request goes out to the wordpress.org API to grab the information about 
plugins in the official repository. This plugin includes the core functionality 
used to fetch the plugin information from the API on the front end of your site 
and adds a shortcode for easy query building and portability.

  Can I query by multiple parameters at once?

At this time the wordpress.org API can only be queried by one of the included query
parameters at a time. If the API ever allows more complex queries, I’ll be happy
to add support for them to this plugin.

  How does the plugin cache results?

This plugin uses transients to store the results from each unique API request. This
minimizes hits on the API and dramatically speeds up the loading of the cards. The
expiration on the transients is set to 2 hours by default, but you can use the filter`
plugin_cards_cache_expiration` to set your own cache expiration.

## 评价

![](https://secure.gravatar.com/avatar/0138ef14da77b9261fdf0b83568bf7caa859d704d28586f62ea7cbc34631fe5c?
s=60&d=retro&r=g)

### 󠀁[Great Plugin](https://wordpress.org/support/topic/great-plugin-1599/)󠁿

 [ThemeZee](https://profiles.wordpress.org/themezee/) 2016 年 9 月 19 日

Small plugin that solves one task extremely well! Thanks for making this 🙂

![](https://secure.gravatar.com/avatar/a7c5e9c1173fc57976c9703e4e78a9af611d5e102490d0033f2e3ac1e52535a3?
s=60&d=retro&r=g)

### 󠀁[Really great little plugin](https://wordpress.org/support/topic/really-great-little-plugin/)󠁿

 [Terence Milbourn](https://profiles.wordpress.org/pubdirltd/) 2016 年 9 月 3 日

Excellent documentation and works well

![](https://secure.gravatar.com/avatar/8c0ced2ad5a0c50ec3a0903b1d1946b4309a9b5e4ed01ff7f8d40bc710f49e3e?
s=60&d=retro&r=g)

### 󠀁[Great Plugin](https://wordpress.org/support/topic/great-plugin-8294/)󠁿

 [nick6352683](https://profiles.wordpress.org/nick6352683/) 2016 年 9 月 3 日

Works perfectly, looks good, and saves me tons of time.

![](https://secure.gravatar.com/avatar/15d42c6dab67a060bc2505fac89be5650dc55d380308238dabc3fc1a0e4a4be9?
s=60&d=retro&r=g)

### 󠀁[Loooove this!](https://wordpress.org/support/topic/loooove-this/)󠁿

 [Marco Milesi](https://profiles.wordpress.org/milmor/) 2016 年 9 月 3 日

Great work!

 [ 阅读所有8条评价 ](https://wordpress.org/support/plugin/plugin-cards/reviews/)

## 贡献者及开发者

「Plugin Cards」是开源软件。 以下人员对此插件做出了贡献。

贡献者

 *   [ Braad ](https://profiles.wordpress.org/braad/)

「Plugin Cards」插件已被翻译至 1 种本地化语言。 感谢[所有译者](https://translate.wordpress.org/projects/wp-plugins/plugin-cards/contributors)
为本插件所做的贡献。

[帮助将「Plugin Cards」翻译成简体中文。](https://translate.wordpress.org/projects/wp-plugins/plugin-cards)

### 对开发感兴趣吗?

您可以[浏览代码](https://plugins.trac.wordpress.org/browser/plugin-cards/)，查看
[SVN仓库](https://plugins.svn.wordpress.org/plugin-cards/)，或通过[RSS](https://plugins.trac.wordpress.org/log/plugin-cards/?limit=100&mode=stop_on_copy&format=rss)
订阅[开发日志](https://plugins.trac.wordpress.org/log/plugin-cards/)。

## 更新日志

#### 1.2.2

 * Minor CSS improvements for better theme compatibility

#### 1.2.1

 * Icon links now open in a new window
 * Minor CSS tweak for better matching core styling
 * JS is now even smaller (2kb)

#### 1.2.0

 * Fixed a bug that was causing the caching to fail if two different queries of 
   the same type were made
 * Improved CSS to incorporate 4.3 core changes and provide better responsive behavior
   and theme compatibility
 * Reintroduced a “Download” button on the top right of the cards
 * Introduced a new filter `plugin_cards_action_links` that can be used to hide 
   the “Download” button
 * Changed the default cache expiration to 2 hours
 * Tested with the latest WordPress 4.3

#### 1.1.0

 * Introduced some JS to ensure we are always showing the right number of columns
 * Switched to using Dashicons for the star ratings

#### 1.0.0

 * First Release

## 额外信息

 *  版本 **1.2.2**
 *  最后更新：**10 年前**
 *  活跃安装数量 **10+**
 *  WordPress 版本 ** 4.0 或更高版本 **
 *  已测试的最高版本为 **4.4.34**
 *  语言
 * [English (US)](https://wordpress.org/plugins/plugin-cards/) 和 [Hebrew](https://he.wordpress.org/plugins/plugin-cards/).
 *  [翻译成简体中文](https://translate.wordpress.org/projects/wp-plugins/plugin-cards)
 * 标签
 * [card](https://cn.wordpress.org/plugins/tags/card/)[cards](https://cn.wordpress.org/plugins/tags/cards/)
   [repo](https://cn.wordpress.org/plugins/tags/repo/)[search](https://cn.wordpress.org/plugins/tags/search/)
 *  [高级视图](https://cn.wordpress.org/plugins/plugin-cards/advanced/)

## 评级

 4.5 星（最高 5 星）。

 *  [  7 条 5 星评价     ](https://wordpress.org/support/plugin/plugin-cards/reviews/?filter=5)
 *  [  0 条 4 星评价     ](https://wordpress.org/support/plugin/plugin-cards/reviews/?filter=4)
 *  [  0 条 3 星评价     ](https://wordpress.org/support/plugin/plugin-cards/reviews/?filter=3)
 *  [  0 条 2 星评价     ](https://wordpress.org/support/plugin/plugin-cards/reviews/?filter=2)
 *  [  1 条 1 星评价     ](https://wordpress.org/support/plugin/plugin-cards/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/plugin-cards/reviews/#new-post)

[查看全部评论](https://wordpress.org/support/plugin/plugin-cards/reviews/)

## 贡献者

 *   [ Braad ](https://profiles.wordpress.org/braad/)

## 支持

有话要说吗？是否需要帮助？

 [查看支持论坛](https://wordpress.org/support/plugin/plugin-cards/)

## 捐助

您愿意支持这个插件的发展吗?

 [ 捐助此插件 ](http://braadmartin.com/)