Templates

Templates are used to embed details of files in to a post or page. They are can also be used to create file lists. WP-Filebase includes a powerful template engine supporting IF-THEN-ELSE blocks. Templates are blocks of HTML code containing variables. There are three different types of templates:

  • File Templates are used to embed files
  • Category Templates are used for categories in file lists if file grouping is enabled
  • List Template consists of a Header, Footer and a File and Category Template.

Special templates that cannot be deleted:

  • Default: Default templates are used when there is no template specified, for example a shortcode without the tpl parameter. Its also used for file search results and attachments. Note that the default templates appears in the template management list as well as in settings. When resetting settings, the default template code is restored!
  • Filebrowser: template used for AJAX treeview
  • Filepage: This template is used to build the File Details Page (WP-Filebase Pro)

You can even place shortcodes into templates to build advanced file lists. Be careful: don’t nest a shortcode using the template itself!

Syntax

A template is a piece of HTML code containing “variables” that will be replaced with file specific properties. A variable is wrapped by two % characters, i.e. %file_name%. A very simple template:

<p>
<img src="%file_icon_url%" style="height:20px; vertical-align:middle;" />
<a href="%file_url%" title="Download %file_display_name%">%file_display_name%</a> (%file_size%)
</p>

This would output a HTML paragraph containing a small icon/thumbnail followed by the name and size of the file.

To omit the <img> tag for files without a thumbnail, an IF-block is added:

<p>
<!-- IF %file_thumbnail% -->
<img src="%file_icon_url%" style="height:20px; vertical-align:middle;" />
<!-- ENDIF -->
<a href="%file_url%" title="Download %file_display_name%">%file_display_name%</a> (%file_size%)
</p>

 

 

Inside an IF expression you can use the Boolean operators OR and AND. The following sample inserts a link to the associated post/page of the file if: 1. the file has an associated post and 2. the currently viewed post/page is not the associated one. So the link won’t appear in templates that are generated in the post/page of the file:

<!-- IF %file_post_id% AND %post_id% != %file_post_id% -->
<a href="%file_post_url%">%'View post'%</a>
<!-- ENDIF -->

Templates are internally parsed to PHP code, so all PHP and WordPress functions can be used in expression!

Template Variables

The following template variables are available for file and category templates:

NameDescriptionTypeExample Value
%uid%A unique ID number to identify elements within a templateNumber3
NameDescriptionTypeExample Value

Here’s a list of template variables for files, which can be selected from the Drop-Down when editing a template. Custom fields (see Settings) appear at the end of the Drop-Down box.

NameDescriptionTypeExample Value
%file_name%The name of the file (with extension)numberexample.pdf
%file_size%ID of the current post or pageFormatted size1.63 MiB
%file_date%Formatted date of the file (change in Settings)Formatted date time4. May 2011
%file_thumbnail%The name of the thumbnail fileStringexample-100×120.png
%file_display_name%The Title of the fileStringExample Document
%file_description%File DescriptionString
%file_version%File VersionString2.1
%file_author%File AuthorString
%file_languages%A comma-separated list of all supported languagesStringsEnglish, German
%file_platforms%A common-separated list of supported platformsStringsWindows 7, Ubuntu
%file_requirements%A commo-sperated list of requirementsStringsApache, MySQL
%file_license%File LicenseStringCreative Commons
Number-1
String (user role)Subscriber
%file_user_can_access%Boolean (0/1)0
%file_offline%Boolean (0/1)1
%file_direct_linking%Boolean (0/1)
%file_category%String
%file_post_idnumber

 

If ID3 detection is enabled, there are more variables available for each file. ID3 variables begin with the prefix %file_info/ . Example to get artist of an mp3 file:

%file_info/tags/id3v2/artist%

These variable can also be used in IF expressions. You’ll find a list of all available variables below the file form when editing a file.

Special template variables

%dl_countdown% Used in File Details Page template to display the countdown

%search_form% Used in list headers and footers to display a search form

%sort_link:file_sizeWill be replaced by a URL to sort the current file list. Example:
<a href="%sort_link:file_name%">Sort by Name</a>

%print_script:{script-name}% Used in list headers to include JavaScripts like the jQuery extension dataTables.

%print_style:{style_name}% Used in list headers to include CSS files.

Useful Expressions

Only display ads (or anything else) to non-registered users:
<!-- IF get_current_user_id() != 0 --> ..ad code.. <!-- ENDIF -->

PHP Code in Templates

WP-Filebase Pro supports PHP codeblocks inside the Template code. To use a template variable in PHP, use the following syntax (instead of %file_display_name%):
<?php echo $file->get_tpl_var('file_display_name'); ?>

55 thoughts on “Templates

  1. VA:F [1.9.22_1171]
    Rating: +1 (from 1 vote)

    Hi Fabian,
    I was testing various features of your plugin to fit one of my various requirements. I have user maintained documents’ website. I want to list only user’s own files on frontend using allowed various shortcode. Now I want to put below template condition:

    <!-- IF %file_added_by% == $current_user->ID -->
    Code
    <!-- ENDIF -->

    Now, the above code doesn’t parse and returns no file list.
    For my testing I provided hardcode: Logged In username as admin, which works correctly, but I want this to receive the current users parameter.

    Does this already present in current version of WP FilebasePro 3.1.08 and I am somehow not picking the right syntax? If not kindly include this feature.

    Its not working. I have tried different combinations as well to include wp_get_current_user() and get_currentuserinfo() functions using various combinations.

    Please reply as its urgent. I have placed the same query on premium support forum as well but haven’t heard till now.

    Thanks and Regards,
    Deepak Mittal

    1. VA:F [1.9.22_1171]
      Rating: 0 (from 0 votes)

      Below code is not printed in above text:


      Code

      1. VA:F [1.9.22_1171]
        Rating: 0 (from 0 votes)

        Below code is not printed in above text:


        Code

  2. Villie says:
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)

    Hi,

    I have made some heavy changes to the templates in WP-Filebase plugin. Will I lose those changes if I update the plugin to the latest version?
    Please reply.

  3. Wes says:
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)

    I’m getting this error when attempting to edit templates:

    DataTables warning (table id = ‘wpfb-data-table-5269828f4b4f9’): Requested unknown parameter ‘4’ from the data source for row 0

    ???

  4. Helton says:
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)

    A few questions:

    1. Can I create a page to list only files from one category, for example?
    I f yes, how?

    2. Can I define permissions like that:
    a) User A can download from category 1 and category 2
    b) User A can upload to category 1, not category 2

    Thanks,

    Helton

  5. Roman says:
    VN:F [1.9.22_1171]
    Rating: 0 (from 0 votes)

    Hello !
    How can I put in FilePage (File Details Page) template some php code like this:

    Or how can I do this in other way?
    Thanks!

    1. Roman says:
      VN:F [1.9.22_1171]
      Rating: 0 (from 0 votes)
  6. Roman says:
    VN:F [1.9.22_1171]
    Rating: 0 (from 0 votes)

    $string = “%file_custom_references%”;
    $refs_array = explode(“\r\n”,$string);
    foreach ($refs_array as $ref){
    echo $ref;
    }

  7. alex says:
    VA:F [1.9.22_1171]
    Rating: +1 (from 1 vote)

    how to display counter downloads separately? for example in the sidebar
    and how to display download form in wordpress templates (not in post)?

  8. odayou says:
    VA:F [1.9.22_1171]
    Rating: +1 (from 1 vote)

    i use wp-filebase plugin and made wpfb-zh_TW.mo put it into plugins\wp-filebase\language folder .but the language just changed on administratorbord, i want to know how can i use my language in site page?mail me(726331595@qq.com / loveforever553@gmail.com),thank you!

  9. Valerie says:
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)

    Added new template to display description and file size; example displays great. Added it to my page and only file size displays.

    Am I entering the shortcode for the template correctly? Template name is “my-fill-in”.

    [wpfilebase tag=browser id=52 tpl="my-fill-in" /]

  10. MD says:
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)

    Can filesize formats be templated themselves? Right now, %file_size% provides formatted output. I’d like to customise the “MiB”.

Leave a Reply

Your email address will not be published. Required fields are marked *