這個外掛並未在最新的 3 個 WordPress 主要版本上進行測試。開發者可能不再對這個外掛進行維護或提供技術支援,並可能會與更新版本的 WordPress 產生使用上的相容性問題。

External Content

外掛說明

Have you ever wanted to integrate external content such as a specific post of an external website into your WordPress website? But treat it like any other post? That is, have it appear as teaser or part of a specific (pseudo) archive?

This is exactly when External Content kicks in.

Usage

External Content registers a custom post type that, by default, supports title, content, excerpt and thumbnail. This can be customized, though. Managing your posts in your backend is no different from any other post type. Create a new post, give it a title, write some text, define an individual excerpt, and set a post thumbnail, if you wish. Then assign each post an individual external URL by means of the according meta box. This external URL will be used as the post’s permalink.

Filters

In order to customize certain aspects of the plugin, it provides you with several filters. For each of these, a short description as well as a code example on how to alter the default behavior is given below. Just put the according code snippet in your theme’s functions.php file or your customization plugin, or to some other appropriate place.

external_content_args

If you want to alter a specific post type argument but you can’t find a fitting filter, there’s external_content_args, which provides you with the complete args array.

/**
 * Filter the post type args.
 *
 * @param array $args Post type args.
 */
add_filter( 'external_content_args', function( $args ) {

    // Use hierarchical external content
    $args[ 'hierarchical' ] = TRUE;

    return $args;
} );

external_content_description

The post type description can be customized by using the external_content_description filter.

/**
 * Filter the post type description.
 *
 * @param string $description Post type description.
 */
add_filter( 'external_content_description', function() {

    // Provide a description
    return 'Simple post type for handling external content like any other post.';
} );

external_content_labels

In case you don’t like the labels, easily adapt them to your liking.

/**
 * Filter the post type labels.
 *
 * @param array $labels Post type labels.
 */
add_filter( 'external_content_labels', function( $labels ) {

    // A little more horror, please...
    $labels[ 'not_found' ] = 'ZOMG, no external content found!!1!!1!!oneone!!!1!eleven!1!';

    return $labels;
} );

external_content_meta_key

If you want to alter the meta key for the external URL, feel free to do it via this filter.

/**
 * Filter the meta key.
 *
 * @param string $meta_key Meta key.
 */
add_filter( 'external_content_meta_key', function() {

    // Let's Shrekify the meta key
    return 'far_far_away';
} );

external_content_post_type

Yes, you can also alter the post type (slug).

/**
 * Filter the post type.
 *
 * @param string $post_type Post type.
 */
add_filter( 'external_content_post_type', function() {

    return 'exotic_stuff';
} );

external_content_supports

This filter provides you with the post type supports.

/**
 * Filter the post type supports.
 *
 * @param array $supports Post type supports.
 */
add_filter( 'external_content_supports', function( $supports ) {

    // If your theme uses the excerpt for teasers, just remove the editor to prevent confusion
    foreach ( $supports as $key => $value ) {
        if ( 'editor' === $value ) {
            unset( $supports[ $key ] );
        }
    }

    return $supports;
} );

external_content_use_external_url

The permalink of external content is, by default, replaced with the post’s according external URL (i.e., post meta). To disable this behavior, just do the following:

/**
 * Filter the usage of the external URL as permalink.
 *
 * @param bool $use_external_url Use the external URL as permalink?
 */
add_filter( 'external_content_use_external_url', '__return_false' );

Contribution

To contribute to this plugin, please see its GitHub repository.

If you have a feature request, or if you have developed the feature already, please feel free to use the Issues and/or Pull Requests section.

Of course, you can also provide me with translations if you would like to use the plugin in another not yet included language.

螢幕擷圖

  • Meta box – Enter an external URL to have the post’s permalink be replaced with it.

安裝方式

This plugin requires PHP 5.3.

  1. Upload the external-content folder to the /wp-content/plugins/ directory on your web server.
  2. Activate the plugin through the Plugins menu in WordPress.
  3. Find the new External Content menu in your WordPress backend.

使用者評論

OK

2016 年 9 月 3 日 2 則留言
Cool, ça fonctionne très bien. Mais il n’y a pas la possibilité d’ouvrir sur un nouvel onglet.
閱讀全部 1 則使用者評論

參與者及開發者

以下人員參與了開源軟體〈External Content〉的開發相關工作。

參與者

將〈External Content〉外掛本地化為台灣繁體中文版

對開發相關資訊感興趣?

任何人均可瀏覽程式碼、查看 SVN 存放庫,或透過 RSS 訂閱開發記錄

變更記錄

1.4.2

  • Fix uninstall bug, again.

1.4.1

  • Compatible up to WordPress 4.4.
  • Fix uninstall bug.

1.4.0

  • Compatible up to WordPress 4.3.1.

1.3.0

  • Bugfix Nonce method.
  • Refactor some methods to make them better testable.
  • Compatible up to WordPress 4.3.

1.2.1

  • Escape translated strings.
  • Compatible up to WordPress 4.2.4.

1.2.0

  • Complete refactor.
  • Compatible up to WordPress 4.2.3.

1.1.0

  • wordpress.org release.
  • Compatible up to WordPress 4.2.2.

1.0.0

  • Initial release.