本文整理汇总了PHP中Timber::locations方法的典型用法代码示例。如果您正苦于以下问题:PHP Timber::locations方法的具体用法?PHP Timber::locations怎么用?PHP Timber::locations使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Timber
的用法示例。
在下文中一共展示了Timber::locations方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: __construct
public function __construct($path, $name = '')
{
parent::__construct($path, $name);
$gantry = Gantry::instance();
/** @var UniformResourceLocator $locator */
$locator = $gantry['locator'];
\Timber::$locations = $locator->findResources('gantry-engine://views');
add_theme_support('html5', ['comment-list', 'comment-form', 'search-form', 'gallery', 'caption', 'widgets']);
add_theme_support('title-tag');
add_theme_support('post-formats');
add_theme_support('post-thumbnails');
add_theme_support('menus');
add_theme_support('widgets');
add_filter('timber_context', [$this, 'add_to_context']);
add_filter('get_twig', [$this, 'add_to_twig']);
add_action('template_redirect', [$this, 'set_template_layout'], -10000);
add_action('init', [$this, 'register_post_types']);
add_action('init', [$this, 'register_taxonomies']);
add_action('widgets_init', [$this, 'widgets_init']);
add_action('wp_enqueue_scripts', [$this, 'enqueue_scripts']);
add_action('admin_enqueue_scripts', [$this, 'enqueue_scripts']);
add_action('wp_head', [$this, 'print_styles'], 20);
add_action('wp_head', [$this, 'print_scripts'], 30);
add_action('admin_print_styles', [$this, 'print_styles'], 200);
add_action('admin_print_scripts', [$this, 'print_scripts'], 200);
add_action('wp_footer', [$this, 'print_inline_scripts']);
}
示例2: __construct
public function __construct($path, $name = '')
{
global $pagenow;
parent::__construct($path, $name);
$gantry = Gantry::instance();
$global = $gantry['global'];
/** @var UniformResourceLocator $locator */
$locator = $gantry['locator'];
\Timber::$locations = $locator->findResources('gantry-engine://views');
add_theme_support('html5', ['comment-list', 'comment-form', 'search-form', 'gallery', 'caption', 'widgets']);
add_theme_support('title-tag');
add_theme_support('post-formats');
add_theme_support('post-thumbnails');
add_theme_support('menus');
add_theme_support('widgets');
add_theme_support('woocommerce');
add_filter('timber_context', [$this, 'add_to_context']);
add_filter('get_twig', [$this, 'add_to_twig']);
add_filter('the_content', [$this, 'url_filter'], 0);
add_filter('the_excerpt', [$this, 'url_filter'], 0);
add_filter('widget_text', [$this, 'url_filter'], 0);
add_filter('widget_content', [$this, 'url_filter'], 0);
add_action('template_redirect', [$this, 'set_template_layout'], -10000);
add_action('init', [$this, 'register_post_types']);
add_action('init', [$this, 'register_taxonomies']);
add_action('template_redirect', [$this, 'disable_wpautop'], 10000);
add_action('widgets_init', [$this, 'widgets_init']);
add_action('wp_enqueue_scripts', [$this, 'enqueue_scripts']);
add_action('admin_enqueue_scripts', [$this, 'enqueue_scripts']);
add_action('wp_head', [$this, 'print_styles'], 20);
add_action('wp_head', [$this, 'print_scripts'], 30);
add_action('admin_print_styles', [$this, 'print_styles'], 200);
add_action('admin_print_scripts', [$this, 'print_scripts'], 200);
add_action('wp_footer', [$this, 'print_inline_scripts']);
add_action('widgets_init', function () {
register_widget('\\Gantry\\WordPress\\Widget\\Particle');
});
// Offline support.
add_action('init', function () use($global, $pagenow) {
if ($global->get('offline') && !(is_super_admin() || current_user_can('manage_options') || $pagenow == 'wp-login.php')) {
if (locate_template(['offline.php'])) {
add_filter('template_include', function () {
return locate_template(['offline.php']);
});
} else {
wp_die($global->get('offline_message'), get_bloginfo('title'));
}
}
});
}
示例3: init
/**
* @see AbstractTheme::init()
*/
protected function init()
{
parent::init();
$gantry = Gantry::instance();
$global = $gantry['global'];
/** @var UniformResourceLocator $locator */
$locator = $gantry['locator'];
\Timber::$locations = $locator->findResources('gantry-engine://views');
add_theme_support('html5', ['comment-list', 'comment-form', 'search-form', 'gallery', 'caption', 'widgets']);
add_theme_support('title-tag');
add_theme_support('post-formats');
add_theme_support('post-thumbnails');
add_theme_support('menus');
add_theme_support('widgets');
add_theme_support('woocommerce');
add_filter('script_loader_tag', ['Gantry\\Framework\\Document', 'script_add_attributes'], 10, 2);
add_filter('timber_context', [$this, 'getContext']);
add_filter('get_twig', [$this, 'extendTwig'], 100);
add_filter('the_content', [$this, 'url_filter'], 0);
add_filter('the_excerpt', [$this, 'url_filter'], 0);
add_filter('widget_text', [$this, 'url_filter'], 0);
add_filter('widget_content', [$this, 'url_filter'], 0);
add_filter('widget_text', 'do_shortcode');
add_filter('widget_content', 'do_shortcode');
add_filter('widget_update_callback', ['\\Gantry\\WordPress\\Widgets', 'widgetCustomClassesUpdate'], 10, 4);
add_filter('dynamic_sidebar_params', ['\\Gantry\\WordPress\\Widgets', 'widgetCustomClassesSidebarParams']);
add_action('template_redirect', [$this, 'set_template_layout'], -10000);
add_action('init', [$this, 'register_post_types']);
add_action('init', [$this, 'register_taxonomies']);
add_action('init', [$this, 'register_menus']);
add_action('template_redirect', [$this, 'disable_wpautop'], 10000);
add_action('widgets_init', [$this, 'widgets_init']);
add_action('wp_enqueue_scripts', [$this, 'prepare_particles'], 15);
add_action('wp_enqueue_scripts', [$this, 'enqueue_scripts'], 20);
add_action('admin_enqueue_scripts', [$this, 'enqueue_scripts'], 20);
add_action('wp_head', [$this, 'print_styles'], 20);
add_action('wp_head', [$this, 'print_scripts'], 30);
add_action('admin_print_styles', [$this, 'print_styles'], 200);
add_action('admin_print_scripts', [$this, 'print_scripts'], 200);
add_action('wp_footer', [$this, 'print_inline_scripts']);
add_action('in_widget_form', ['\\Gantry\\WordPress\\Widgets', 'widgetCustomClassesForm'], 10, 3);
add_action('widgets_init', function () {
register_widget('\\Gantry\\WordPress\\Widget\\Particle');
});
add_shortcode('loadposition', [$this, 'loadposition_shortcode']);
// Offline support.
add_action('init', function () use($global) {
if ($global->get('offline') && !(is_super_admin() || current_user_can('manage_options') || $_GLOBALS['pagenow'] == 'wp-login.php')) {
if (locate_template(['offline.php'])) {
add_filter('template_include', function () {
return locate_template(['offline.php']);
});
} else {
wp_die($global->get('offline_message'), get_bloginfo('title'));
}
}
});
$this->preset_styles_init();
// Load theme text domains
$domain = $this->details()->get('configuration.theme.textdomain', $this->name);
load_theme_textdomain($domain, $this->path . '/languages');
$this->url = $gantry['site']->theme->link;
}
示例4: get_locations_user
/**
*
* @return array
*/
public function get_locations_user()
{
$locs = array();
if (isset(Timber::$locations)) {
if (is_string(Timber::$locations)) {
Timber::$locations = array(Timber::$locations);
}
foreach (Timber::$locations as $tloc) {
$tloc = realpath($tloc);
if (is_dir($tloc)) {
$locs[] = $tloc;
}
}
}
return $locs;
}
示例5: testTwigLoadsFromLocation
function testTwigLoadsFromLocation()
{
Timber::$locations = __DIR__ . '/assets';
$str = Timber::compile('thumb-test.twig');
$this->assertEquals('<img src="" />', trim($str));
}
示例6: die
/**
* @package uw-photo-story
* @version 0.0.14
*/
/*
Plugin Name: UW Photo Story
Version: 0.0.1
Description: Extend Wordpress’s built-in media gallery for embedding carousels and lightboxed photo sets using the Owl 2 and Photoswipe JS libraries.
Author: Nick Weaver
*/
if (!class_exists('Timber')) {
die("This plugin requires Timber for Wordpress.");
} else {
// append views dir in this plugin to Timber's view locations
// if (is_array(Timber::$dirname)) {
// $views = Timber::$dirname;
// } else {
// $views = array(Timber::$dirname);
// }
// $views[] = plugin_dir_path(__FILE__) . "views";
// Timber::$dirname = $views;
error_log("HWWW");
Timber::$locations = plugin_dir_path(__FILE__) . "views";
error_log(Timber::$locations);
error_log(print_r(Timber::$locations, true));
}
if (!class_exists('UwPhotoStory')) {
require_once dirname(__FILE__) . '/lib/uw_photo_story.class.php';
}
$photo_story = new UwPhotoStory();
示例7: render
/**
* Renders a specific template.
* @method render
* @since 0.1.0
*/
public function render($template, $context)
{
$this->on_render($template, $context);
$locations = Timber::$locations;
Timber::$locations = array_merge($this->get_render_location(), Timber::$locations);
$context['block_buid'] = $this->infos['buid'];
$context['block_name'] = $this->infos['name'];
$context['block_description'] = $this->infos['description'];
$context['page_id'] = $this->page_id;
$context['post_id'] = $this->post_id;
$context['page'] = new TimberPost($this->page_id);
$context['post'] = new TimberPost($this->post_id);
Timber::render($template, $context);
Timber::$locations = $locations;
}
示例8: function
global $acf;
if (is_plugin_active('timber-library/timber.php') === false || version_compare(Timber::$version, '1.0.0', '<')) {
echo 'Timber-Library version 1.0.0 or higher is required. <br> See https://wordpress.org/plugins/timber-library/';
exit;
}
if (is_plugin_active('advanced-custom-fields-pro/acf.php') === false || version_compare($acf->settings['version'], '5.4.0', '<')) {
echo 'Advanced Custom Fields version 5.4.0 or higher is required. <br> See https://wordpress.org/plugins/advanced-custom-fields/';
exit;
}
});
/**
* @action init
* @since 1.0.0
*/
add_action('init', function () {
Timber::$locations = array(WPB_DIR . 'templates/');
$ver = get_option('wpb_version', '1.0.0');
if ($ver === '1.0.0') {
$ver = migrate_0_1_0_to_1_0_0();
}
});
/**
* @action admin_init
* @since 1.0.0
*/
add_action('admin_init', function () {
/**
* Adds a metabox on the block edit page used to store the block id and page
* it was added to. This metabox is hidden.
* @since 1.0.0
*/
示例9: array
}
//adding errors
$config['ERRORS'] = $errors;
$dirnameChildTheme = get_stylesheet_directory() . '/twig-templates';
$dirnameTheme = get_template_directory() . '/twig-templates';
Timber::$dirname = array('twig-templates');
//setting up timber twig file locations
// it will look in theme first, if it doesn't find it it will look in master
$timberLocationsArray = array($dirnameChildTheme, $dirnameChildTheme . '/wp', $dirnameChildTheme . '/partials', $dirnameChildTheme . '/email', $dirnameChildTheme . '/form');
// only merge if seperate;
if ($dirnameChildTheme !== $dirnameTheme) {
$timberLocationsArray = array_merge($timberLocationsArray, array($dirnameTheme, $dirnameTheme . '/wp', $dirnameTheme . '/partials', $dirnameTheme . '/email', $dirnameTheme . '/form'));
}
// adding filter to add twig locations
$timberLocationsArray = apply_filters('fg_theme_master_twig_locations', $timberLocationsArray);
Timber::$locations = $timberLocationsArray;
return $config;
};
});
$get_slideshow = function () {
if (function_exists('rwmb_meta')) {
$meta = rwmb_meta('fgms_slideshow_items');
if (!is_array($meta) || count($meta) === 0) {
return null;
}
$items = array();
foreach ($meta as $m) {
$items[] = array('caption' => $m['caption'], 'url' => $m['full_url'], 'alt' => $m['alt'], 'title' => $m['title']);
}
$filter = function ($str) {
return $str === '' ? null : $str;
示例10:
/**
* Apply global Timber customizations
*/
function timber_customizations()
{
global $wp_customize;
$locations = $this->twig_locations();
Timber::$locations = $locations;
}
示例11: function
<?php
if (!class_exists('Timber')) {
add_action('admin_notices', function () {
echo '<div class="error"><p>Timber not activated. Make sure you activate the plugin in <a href="' . esc_url(admin_url('plugins.php#timber')) . '">' . esc_url(admin_url('plugins.php')) . '</a></p></div>';
});
return;
}
// Location of template files
Timber::$locations = 'views';
class BlankSite extends TimberSite
{
function __construct()
{
// add_theme_support( 'post-formats' );
add_theme_support('post-thumbnails');
add_theme_support('menus');
add_filter('timber_context', array($this, 'add_to_context'));
add_action('init', array($this, 'register_post_types'));
add_action('init', array($this, 'register_menus'));
parent::__construct();
}
function register_post_types()
{
// Register custom post types here, like this:
/*$labels = array(
'name' => _x( 'Custom Items', 'post type general name', 'custom' ),
'singular_name' => _x( 'Custom Item', 'post type singular name', 'custom' ),
'menu_name' => _x( 'Custom Items', 'admin menu', 'custom' ),
'name_admin_bar' => _x( 'Custom Item', 'add new on admin bar', 'custom' ),
'add_new' => _x( 'Add New', 'custom', 'custom' ),
示例12: render
/**
* Renders a specific template.
* @method render
* @since 1.0.0
*/
public function render($template, $context)
{
$this->on_render($template, $context);
$locations = Timber::$locations;
Timber::$locations = array_merge($this->get_render_location(), Timber::$locations);
$context['block_buid'] = $this->infos['buid'];
$context['block_name'] = $this->infos['name'];
$context['block_description'] = $this->infos['description'];
$context['page_id'] = $this->page_id;
$context['post_id'] = $this->post_id;
$context['page'] = new TimberPost($this->page_id);
$context['post'] = new TimberPost($this->post_id);
ob_start();
Timber::render($template, $context);
$render = ob_get_contents();
$render = apply_filters('wpb/render', $render, $this);
ob_end_clean();
echo $render;
Timber::$locations = $locations;
}