### Example Directory Structure Source: https://timber.github.io/docs/v2/installation/installation Illustrates the expected directory structure after installing the Timber Starter Theme within your WordPress themes folder. ```text /wp-content/themes/twentyeighteen /twentynineteen /timber-starter-theme ``` -------------------------------- ### setup() Source: https://timber.github.io/docs/v2/reference/timber-post Sets up a post. ```APIDOC ## setup() ### Description Sets up a post. ### Returns `\Timber\Post` - The post instance. ``` -------------------------------- ### Attachment Link Example in HTML Source: https://timber.github.io/docs/v2/reference/timber-image An example demonstrating how an attachment link and image source are rendered in HTML. ```html ``` -------------------------------- ### HTML Output Example Source: https://timber.github.io/docs/v2/reference/timber-site This is an example of how site information might be rendered in HTML, showing the names of the current and another site. ```html My site is called Jared's blog, another site on my network is Upstatement.com ``` -------------------------------- ### Install Composer Dependencies Source: https://timber.github.io/docs/v2/contributing Run this command after forking the Timber repository to install all necessary Composer dependencies. ```bash composer install ``` -------------------------------- ### Setting Post Context with setup() for Plugin Compatibility Source: https://timber.github.io/docs/v2/upgrade-guides/2.0 If you still manually set the 'post' context, use `->setup()` to improve compatibility with third-party plugins. ```php $context['post']->setup(); ``` -------------------------------- ### Constructing Timber Site Objects Source: https://timber.github.io/docs/v2/reference/timber-site Demonstrates how to instantiate a Timber Site object, both in multisite setups by providing an ID or name, and in non-multisite setups. ```php //multisite setup $site = new Timber\Site(1); $site_two = new Timber\Site("My Cool Site"); //non-multisite $site = new Timber\Site(); ``` -------------------------------- ### Start and Stop Timer in PHP Source: https://timber.github.io/docs/v2/reference/timber-helper Use start_timer() to get a timestamp and stop_timer() to calculate the elapsed time. Useful for performance profiling. ```php $start = Timber\Helper::start_timer(); // do some stuff that takes awhile echo Timber\Helper::stop_timer( $start ); ``` -------------------------------- ### Install WordPress Tests Source: https://timber.github.io/docs/v2/guides/testing SSH into the Vagrant instance, navigate to the Timber directory, and use the provided script to install the WordPress tests. ```bash $ cd /srv/www/timber $ bin/install-wp-tests.sh wordpress_tests root root ``` -------------------------------- ### Example HTML Structure Source: https://timber.github.io/docs/v2/reference/timber-externalimage An example of how an article with an external image might be structured in HTML. ```html

Now you've done it!

Whatever whatever
``` -------------------------------- ### Install Development Version (Specific Branch/Tag) Source: https://timber.github.io/docs/v2/installation/manage-timber-with-composer Commands to install specific development versions, such as a beta release or the latest work on a branch. ```bash # Install the beta version of 2.x. composer require timber/timber:2.x-beta1 # Install the latest work on the 2.x branch. composer require timber/timber:dev-2.x ``` -------------------------------- ### Install Timber with Composer Source: https://timber.github.io/docs/v2/installation/intro-to-composer Use this command in your project's root folder to install the Timber package using Composer. ```bash composer require timber/timber ``` -------------------------------- ### Example User and Post Data (HTML) Source: https://timber.github.io/docs/v2/reference/timber-user This HTML snippet shows example output for user and post information, illustrating what might be rendered by the Twig template. ```html

Your name is Jesse Eisenberg

This article is called "Consider the Lobster" and it’s by David Foster Wallace

``` -------------------------------- ### Timber\Helper::start_timer() Source: https://timber.github.io/docs/v2/reference/timber-helper Starts a timer for performance measurement. ```APIDOC ## Timber\Helper::start_timer() ### Description For measuring time, this will start a timer. ### Method `start_timer()` ``` -------------------------------- ### HTML Example for Image Width Source: https://timber.github.io/docs/v2/reference/timber-imagedimensions An example of an HTML img tag with the width attribute pre-filled, demonstrating how the width property might be used. ```html ``` -------------------------------- ### Example Custom Integration Class Source: https://timber.github.io/docs/v2/guides/custom-integrations A simplified example of an integration class for Advanced Custom Fields. It checks for ACF's existence and hooks into Timber's post meta logic. ```php namespace MyProject; use ACF; /** * Class used to handle integration with Advanced Custom Fields */ class MyAcfIntegration implements IntegrationInterface { public function should_init(): bool { return class_exists(ACF::class); } public function init(): void { // Hook into Timber’s post meta logic. add_filter('timber/post/pre_meta', [$this, 'post_get_meta_field'], 10, 5); } public static function post_get_meta_field($value, $post_id, $field_name, $post, $args) { $args = wp_parse_args($args, [ // Apply formatting logic (defined when configuring the field). 'format_value' => true, ]); // NOTE: get_field() is defined by ACF itself. We’re simply delegating. return get_field($field_name, $post_id, $args['format_value']); } } ``` -------------------------------- ### Install Twig Cache Extra Package Source: https://timber.github.io/docs/v2/guides/performance Install the necessary package for using the cache tag in Twig. ```bash composer require twig/cache-extra ``` -------------------------------- ### start_timer() Source: https://timber.github.io/docs/v2/reference/timber-helper Starts a timer for measuring execution time. ```APIDOC ## start_timer() ### Description For measuring time, this will start a timer. ### Method `start_timer()` ### Returns - **float** - The starting timestamp. ``` -------------------------------- ### Install Development Version (Master Branch) Source: https://timber.github.io/docs/v2/installation/manage-timber-with-composer Command to install the latest development version from the master branch of the Timber package. ```bash composer require timber/timber:dev-master ``` -------------------------------- ### HTML Example for Image Height Source: https://timber.github.io/docs/v2/reference/timber-imagedimensions An example of an HTML img tag with the height attribute pre-filled, demonstrating how the height property might be used. ```html ``` -------------------------------- ### Install Specific Timber Version Source: https://timber.github.io/docs/v2/installation/manage-timber-with-composer Use the `composer require` command to install a specific version of the Timber package. ```bash composer require timber/timber:2.0.1 ``` -------------------------------- ### preview() Source: https://timber.github.io/docs/v2/reference/timber-post Gets an excerpt of your post. ```APIDOC ## preview() ### Description Gets an excerpt of your post. ### Returns `\Timber\PostExcerpt` ``` -------------------------------- ### Example HTML Structure for a Post Source: https://timber.github.io/docs/v2/reference/timber-post This is an example of the HTML structure that might be rendered for a single post, including a headline and body content. This serves as a visual representation of the Twig output. ```html

The Empire Strikes Back

It is a dark time for the Rebellion. Although the Death Star has been destroyed, Imperial troops have driven the Rebel forces from their hidden base and pursued them across the galaxy.
``` -------------------------------- ### Getting Terms in PHP Source: https://timber.github.io/docs/v2/reference/timber-term Examples of how to retrieve term objects using Timber::get_term() in various scenarios. ```APIDOC ## Timber::get_term() ### Description Retrieves a term object based on ID, slug, or the current term context. ### Method `Timber::get_term( int|string $term = null, string $taxonomy = null ): 9Timber​Term|9WP_Term|9null` ### Parameters #### Path Parameters - **$term** (int|string) - Optional - The ID or slug of the term to retrieve. If null, it attempts to get the term from the current query context. - **$taxonomy** (string) - Optional - The taxonomy of the term to retrieve. If not provided, it will attempt to infer from the context or default to 'category'. ### Request Example ```php // Get a term by its ID $context['term'] = Timber::get_term(6); // Get a term when on a term archive page $context['term_page'] = Timber::get_term(); // Get a term with a slug $context['team'] = Timber::get_term('patriots'); Timber::render('index.twig', $context); ``` ### Response #### Success Response - **Timber\Term** - A Timber​Term object if found. - **WP_Term** - A WordPress term object if Timber​Term is not available or if explicitly returned. - **null** - If the term is not found. #### Response Example ```json { "name": "New England Patriots", "taxonomy": "teams", "description": "Winner of 6 Super Bowls" } ``` ``` -------------------------------- ### setup() Source: https://timber.github.io/docs/v2/reference/timber-attachment Sets up the post object and associated global variables for compatibility with WordPress. ```APIDOC ## setup() ### Description Sets up a post. Sets up the `$post` global, and other global variables as well as variables in the `$wp_query` global that makes Timber more compatible with WordPress. This function will be called automatically when you loop over Timber posts as well as in `Timber::context()`. ### Returns `\Timber\Post` - The post instance. _This method is inherited from `Timber\Post`._ ``` -------------------------------- ### setup() Source: https://timber.github.io/docs/v2/reference/timber-attachment Sets up a post object for use within Timber. This method prepares the post instance for further operations. ```APIDOC ## setup() ### Description Sets up a post object for use within Timber. ### Returns `\Timber\Post`: The post instance. ``` -------------------------------- ### setup() Source: https://timber.github.io/docs/v2/reference/timber-post Sets up global variables and query variables for a post to enhance Timber's compatibility with WordPress. Automatically called during loops and Timber::context(). ```APIDOC ## setup() ### Description Sets up a post. Sets up the `$post` global, and other global variables as well as variables in the `$wp_query` global that makes Timber more compatible with WordPress. This function will be called automatically when you loop over Timber posts as well as in `Timber::context()`. **Since:** 2.0.0 ### Returns `\Timber\Post` The post instance. ``` -------------------------------- ### Get External Image in PHP Source: https://timber.github.io/docs/v2/reference/timber-externalimage Use Timber::get_external_image() to fetch an external image. This function handles loading remote images into your WordPress installation. ```php $context = Timber::context(); // Lets say you have an external image that you want to use in your theme $context['cover_image'] = Timber::get_external_image($url); Timber::render('single.twig', $context); ``` -------------------------------- ### Get Post Terms in Twig Source: https://timber.github.io/docs/v2/reference/timber-post Retrieve and display terms for a specific taxonomy associated with a post in Twig. This example shows how to query categories, order them by name, and join them into a comma-separated string. ```twig
{% if jobs is not empty %} {% for post in jobs %}

{{ post.title }}

{{ post.terms({ taxonomy: 'category', orderby: 'name', order: 'ASC' })|join(', ') }}

{% endfor %} {% endif %}
``` -------------------------------- ### Get Post Terms in PHP Source: https://timber.github.io/docs/v2/reference/timber-post Demonstrates how to retrieve post terms using the `terms()` method in PHP. Examples include fetching terms for a single taxonomy, multiple taxonomies, and using custom query arguments with options. ```php // Get all terms of a taxonomy. $terms = $post->terms( 'category' ); // Get terms of multiple taxonomies. $terms = $post->terms( array( 'books', 'movies' ) ); // Use custom arguments for taxonomy query and options. $terms = $post->terms( [ 'taxonomy' => 'custom_tax', 'orderby' => 'count' ], [ 'merge' => false ] ); ``` -------------------------------- ### Force Realization of Post Collection with `realize()` Source: https://timber.github.io/docs/v2/guides/posts Use `Timber imber::get_posts()` within `Timber imber::transient()` and call `.realize()` to force the instantiation of all `Timber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber imber* Use `Timber::get_posts()` with a `query` argument. * Use `Timber::get_post()` with an argument. These two cases are always a performance hit. As long as you don’t change any query parameters, Timber will use the default query that is already set up and no additional database query will be run. If you care about performance and want to change the query that WordPress runs before deciding which template file it will use, you need to use the `pre_get_posts` action. ```php $eager_posts = \Timber\Helper::transient('my_posts', function () { $query = \Timber\Timber::get_posts([ 'post_type' => 'some_post_type', ]); // Run Post::setup() up front. return $query->realize(); }, HOUR_IN_SECONDS); foreach ($eager_posts as $post) { // No additional overhead here. } // Later... foreach (get_transient('my_posts') as $post) { /** * Same deal! * * No repeated overhead here because the realized Posts are already cached. */ } ``` -------------------------------- ### Getting Raw Theme Headers Source: https://timber.github.io/docs/v2/reference/timber-theme Demonstrates how to get an unformatted theme header value, like the 'Version', using the `get` method in Twig. ```twig {{ theme.get('Version') }} ``` -------------------------------- ### get() Source: https://timber.github.io/docs/v2/reference/timber-theme Gets a raw, unformatted theme header. This method is a wrapper for WP_Theme::get(). ```APIDOC ## get( string $header ) ### Description Gets a raw, unformatted theme header. ### Parameters #### Path Parameters - **$header** (string) - Required - Name of the theme header (e.g., Name, Description, Author, Version, ThemeURI, AuthorURI, Status, Tags). ### Response #### Success Response (200) - **string|false** - The raw theme header string on success, false on failure. ### Response Example ```twig {{ theme.get('Version') }} ``` ``` -------------------------------- ### Create Timber Starter Theme Project Source: https://timber.github.io/docs/v2/installation/installation Use this command to create a new WordPress theme using the Timber Starter Theme, which includes Timber as a dependency. Run this from the wp-content/themes folder. ```bash composer create-project upstatement/timber-starter-theme --no-dev ``` -------------------------------- ### Install Specific Commit Source: https://timber.github.io/docs/v2/installation/manage-timber-with-composer Command to install a specific commit of the Timber package from the master branch. ```bash composer require timber/timber:dev-master#2cfc7a2eb6c6db743518f8d9d77f2c6259b5d277 ``` -------------------------------- ### Get Image Relative Path Source: https://timber.github.io/docs/v2/reference/timber-externalimage Use the path() method to get the relative path to the image file. ```twig ``` -------------------------------- ### Modified Author Example in HTML Source: https://timber.github.io/docs/v2/reference/timber-image An example showing how the name of the last modified author is displayed in HTML. ```html Last updated by Harper Lee ```