开发者 | ericmann |
---|---|
更新时间 | 2013年7月26日 02:04 |
捐献地址: | 去捐款 |
PHP版本: | 3.5 及以上 |
WordPress版本: | 3.6 |
版权: | GPLv2 |
wp-publication-archive
folder to the /wp-content/plugins/
directoryOption 1: Use the built-in media uploader on the "Add Publication" screen.
Option 2: Upload a file to your server via FTP (or to a remote host like AWS) and place the full URL (including the http://
) in the Publication field on the Edit Publication page.
You can display a list of publications either by includeing the [wp-publication-archive] shortcode on a post/page or by placing <?php wp_publication_archive(); ?> in your theme template files. WordPress will render your publication list automatically.
Yes! Simply add showas="dropdown"
as a parameter within the regular shortcode, and the plugin will use a dropdown template rather than a list template. For example:
[wp-publication-archive showas="dropdown" /]
Yes! Just include categories="cat1,cat2"
in your shortcode where "cat1" and "cat2" are the names of the categories you want to display.
Yes! Just include author="author-name"
in your shortcode where "author-name" is the slug of the author you want to display.
By default, the plug-in contains icons for several common file types. The icons include:
There could be any of a hundred causes for this. Most likely, your files are just too large to be handled by your server.
By default, both file opens and downloads are streamed to your server. This means the plugin will attempt to open the file (whether it's remote or locally-hosted) and will stream the contents of the file to the browser. This has the advantage of never exposing the raw download URL to the user.*
Unfortunately, it means your server has to download the file first before it can pass it along to the user. For smaller files, this isn't an issue. But for much larger files, connections can time out.
If you are serving large files, you can force the file open URL to forward connections rather than stream them. This means requests to your file open URL (i.e. http://site.com/publication/title/wppa_open
) will receive a 303 "See Other" redirect pointing them to the original resource. It's less work for your server, but the end user will see the original URL.
Just add add_filter( 'wppa_mask_url', '__return_false' );
to your functions.php
file to turn off URL masking and use the redirect method instead.
When you add this filter, the file download URL will behave the exact same way - redirecting requests to the original resource rather than streaming the file to the browser. Unfortunately, this leaves the exact behavior of the link up to the browser - some will attempt to download the file, some will open it instead.
Thumbnail support is extended through the plugin, but not actually implemented in any templates. You can upload a custom thumbnail for each Publication, and the URL will be stored in the Publication's meta field in the database under the wpa-upload_image
key.
You can get the raw thumbnail URL by requesting it directly with get_post_meta()
. Alternatively, the WP_Publication_Archive_Item
class contains some useful helper methods for printing the thumbnail URL wrapped in proper HTML tags. You can use code similar to the following:
<?php
$pub = get_post( $publication_id );
$pub = new WP_Publication_Archive_Item( $pub->ID, $pub->post_title, $pub->post_date );
// Return the Publication thumbnail for use elsewhere
$thumb = $pub->get_the_thumbnail();
// Echo/print the thumbnail to the browser
$pub->the_thumbnail();
These helper methods will generate HTML tags similar to:
Also, the actual thumbnail URL printed will be passed through a filter. You can intercept this and do whatever you need to with the URL (add query arguments, switch http/https protocols, etc).
add_filter( 'wpa-upload_image', 'your_custom_function', 10, 2 );
The filter passes two arguments, the raw URL for the thumbnail and the ID of the publication.
The open behavior is 100% dependent on your browser. In some cases (i.e. PDFs) the file will open in the browser using a built-in viewer. In other cases (i.e. Zips) there is no in-browser viewer for that file type, so the browser will download the file instead.
The plugin makes every attempt possible to return the correct MIME type for each file so that the browser know what to do with it. But in some cases (i.e. Zips or unknown file types), the plugin will return a type of application/octet-stream
which the browser sees as a generic file and just downloads to a generic, often extensonless, filename.
If you're coming up against a situation like this, I recommend you use the Download link instead.
readfile()
wp_pubarch_open_in_blank
filter.wppa_
function and translation prefix to wp_pubarch_
to avoid a conflict with WP Photo Album +.