本文整理汇总了PHP中TimberHelper::error_log方法的典型用法代码示例。如果您正苦于以下问题:PHP TimberHelper::error_log方法的具体用法?PHP TimberHelper::error_log怎么用?PHP TimberHelper::error_log使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TimberHelper
的用法示例。
在下文中一共展示了TimberHelper::error_log方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: __construct
public function __construct($posts = array(), $post_class = 'TimberPost')
{
$returned_posts = array();
if (is_null($posts)) {
$posts = array();
}
foreach ($posts as $post_object) {
$post_class_use = $post_class;
if (is_array($post_class)) {
$post_type = get_post_type($post_object);
$post_class_use = 'TimberPost';
if (isset($post_class[$post_type])) {
$post_class_use = $post_class[$post_type];
} else {
if (is_array($post_class)) {
TimberHelper::error_log($post_type . ' of ' . $post_object->ID . ' not found in ' . print_r($post_class, true));
} else {
TimberHelper::error_log($post_type . ' not found in ' . $post_class);
}
}
}
// Don't create yet another object if $post_object is already of the right type
if (is_a($post_object, $post_class_use)) {
$post = $post_object;
} else {
$post = new $post_class_use($post_object);
}
if (isset($post->ID)) {
$returned_posts[] = $post;
}
}
$returned_posts = self::maybe_set_preview($returned_posts);
parent::__construct($returned_posts, $flags = 0, 'TimberPostsIterator');
}
示例2: __construct
public function __construct($query = false, $posts_class = 'TimberPost')
{
add_action('pre_get_posts', array($this, 'fix_number_posts_wp_quirk'));
if ($posts_class) {
$this->_posts_class = $posts_class;
}
if (is_a($query, 'WP_Query')) {
// We got a full-fledged WP Query, look no further!
$the_query = $query;
} elseif (false === $query) {
// If query is explicitly set to false, use the main loop
global $wp_query;
$the_query =& $wp_query;
} elseif (TimberHelper::is_array_assoc($query) || is_string($query) && strstr($query, '=')) {
// We have a regularly formed WP query string or array to use
$the_query = new WP_Query($query);
} elseif (is_numeric($query) || is_string($query)) {
// We have what could be a post name or post ID to pull out
$the_query = self::get_query_from_string($query);
} elseif (is_array($query) && count($query) && (is_integer($query[0]) || is_string($query[0]))) {
// We have a list of pids (post IDs) to extract from
$the_query = self::get_query_from_array_of_ids($query);
} else {
TimberHelper::error_log('I have failed you! in ' . basename(__FILE__) . '::' . __LINE__);
TimberHelper::error_log($query);
// We have failed hard, at least let get something.
$the_query = new WP_Query();
}
$this->_query = $the_query;
}
示例3: handle_post_results
/**
* @param array $results
* @param string $PostClass
* @return array
*/
static function handle_post_results($results, $PostClass = 'TimberPost')
{
$posts = array();
foreach ($results as $rid) {
$PostClassUse = $PostClass;
if (is_array($PostClass)) {
$post_type = get_post_type($rid);
$PostClassUse = 'TimberPost';
if (isset($PostClass[$post_type])) {
$PostClassUse = $PostClass[$post_type];
} else {
if (is_array($PostClass)) {
TimberHelper::error_log($post_type . ' of ' . $rid . ' not found in ' . print_r($PostClass, true));
} else {
TimberHelper::error_log($post_type . ' not found in ' . $PostClass);
}
}
}
$post = new $PostClassUse($rid);
if (isset($post->ID)) {
$posts[] = $post;
}
}
return new TimberPostsCollection($posts, $PostClass);
}
示例4: run
/**
* Performs the actual image manipulation,
* including saving the target file.
*
* @param string $load_filename filepath (not URL) to source file
* (ex: /src/var/www/wp-content/uploads/my-pic.jpg)
* @param string $save_filename filepath (not URL) where result file should be saved
* (ex: /src/var/www/wp-content/uploads/my-pic@2x.jpg)
* @return bool true if everything went fine, false otherwise
*/
function run($load_filename, $save_filename)
{
$image = wp_get_image_editor($load_filename);
if (!is_wp_error($image)) {
$current_size = $image->get_size();
$src_w = $current_size['width'];
$src_h = $current_size['height'];
// Get ratios
$w = $src_w * $this->factor;
$h = $src_h * $this->factor;
$image->crop(0, 0, $src_w, $src_h, $w, $h);
$result = $image->save($save_filename);
if (is_wp_error($result)) {
error_log('Error resizing image');
error_log(print_r($result, true));
return false;
} else {
return true;
}
} else {
if (isset($image->error_data['error_loading_image'])) {
TimberHelper::error_log('Error loading ' . $image->error_data['error_loading_image']);
} else {
TimberHelper::error_log($image);
}
}
return false;
}
示例5: __construct
function __construct($slug = 0)
{
$locations = get_nav_menu_locations();
if ($slug != 0 && is_numeric($slug)) {
$menu_id = $slug;
} else {
if (count($locations)) {
$menu_id = $this->get_menu_id_from_locations($slug, $locations);
} else {
if ($slug === false) {
$menu_id = false;
} else {
$menu_id = $this->get_menu_id_from_terms($slug);
}
}
}
if ($menu_id) {
$this->init($menu_id);
} else {
TimberHelper::error_log("Sorry, the menu you were looking for wasn't found ('" . $slug . "'). Here's what Timber did find:");
}
return null;
}
示例6: get_terms
/** # get terms is good
*
*/
function get_terms($tax = '', $merge = true, $TermClass = 'TimberTerm')
{
if (is_string($tax)) {
if (isset($this->_get_terms) && isset($this->_get_terms[$tax])) {
return $this->_get_terms[$tax];
}
}
if (!strlen($tax) || $tax == 'all' || $tax == 'any') {
$taxs = get_object_taxonomies($this->post_type);
} else {
if (is_array($tax)) {
$taxs = $tax;
} else {
$taxs = array($tax);
}
}
$ret = array();
foreach ($taxs as $tax) {
if ($tax == 'tags' || $tax == 'tag') {
$tax = 'post_tag';
} else {
if ($tax == 'categories') {
$tax = 'category';
}
}
$terms = wp_get_post_terms($this->ID, $tax);
if (!is_array($terms) && is_object($terms) && get_class($terms) == 'WP_Error') {
//something is very wrong
TimberHelper::error_log('You have an error retrieving terms on a post in timber-post.php:367');
TimberHelper::error_log('tax = ' . $tax);
TimberHelper::error_log($terms);
} else {
foreach ($terms as &$term) {
$term = new $TermClass($term->term_id, $tax);
}
if ($merge && is_array($terms)) {
$ret = array_merge($ret, $terms);
} else {
if (count($terms)) {
$ret[$tax] = $terms;
}
}
}
}
if (!isset($this->_get_terms)) {
$this->_get_terms = array();
}
$this->_get_terms[$tax] = $ret;
return $ret;
}
示例7: testErrorLog
function testErrorLog()
{
ob_start();
$this->assertTrue(TimberHelper::error_log('foo'));
$this->assertTrue(TimberHelper::error_log(array('Dark Helmet', 'Barf')));
$data = ob_get_flush();
}
示例8: get_terms
/**
* @internal
* @param string|array $tax
* @param bool $merge
* @param string $TermClass
* @return array
*/
function get_terms($tax = '', $merge = true, $TermClass = '')
{
$TermClass = $TermClass ?: $this->TermClass;
if (is_string($merge) && class_exists($merge)) {
$TermClass = $merge;
}
if (is_array($tax)) {
$taxonomies = $tax;
}
if (is_string($tax)) {
if (in_array($tax, array('all', 'any', ''))) {
$taxonomies = get_object_taxonomies($this->post_type);
} else {
$taxonomies = array($tax);
}
}
$term_class_objects = array();
foreach ($taxonomies as $taxonomy) {
if (in_array($taxonomy, array('tag', 'tags'))) {
$taxonomy = 'post_tag';
}
if ($taxonomy == 'categories') {
$taxonomy = 'category';
}
$terms = wp_get_post_terms($this->ID, $taxonomy);
if (is_wp_error($terms)) {
/* @var $terms WP_Error */
TimberHelper::error_log("Error retrieving terms for taxonomy '{$taxonomy}' on a post in timber-post.php");
TimberHelper::error_log('tax = ' . print_r($tax, true));
TimberHelper::error_log('WP_Error: ' . $terms->get_error_message());
return $term_class_objects;
}
// map over array of wordpress terms, and transform them into instances of the TermClass
$terms = array_map(function ($term) use($TermClass, $taxonomy) {
return call_user_func(array($TermClass, 'from'), $term->term_id, $taxonomy);
}, $terms);
if ($merge && is_array($terms)) {
$term_class_objects = array_merge($term_class_objects, $terms);
} else {
if (count($terms)) {
$term_class_objects[$taxonomy] = $terms;
}
}
}
return $term_class_objects;
}
示例9: resize
public static function resize($src, $w, $h = 0)
{
if (empty($src)) {
return '';
}
if (strstr($src, 'http') && !strstr($src, home_url())) {
$src = self::sideload_image($src);
}
$abs = false;
if (strstr($src, 'http')) {
$abs = true;
}
//oh good, it's a relative image in the uploads folder!
$path_parts = pathinfo($src);
$basename = $path_parts['filename'];
$ext = $path_parts['extension'];
$dir = $path_parts['dirname'];
$newbase = $basename . '-r-' . $w . 'x' . $h;
$new_path = $dir . '/' . $newbase . '.' . $ext;
$new_path = str_replace(site_url(), '', $new_path);
$new_root_path = ABSPATH . $new_path;
$old_root_path = ABSPATH . str_replace(site_url(), '', $src);
$old_root_path = str_replace('//', '/', $old_root_path);
$new_root_path = str_replace('//', '/', $new_root_path);
if (file_exists($new_root_path)) {
if ($abs) {
return untrailingslashit(site_url()) . $new_path;
} else {
return TimberHelper::preslashit($new_path);
}
return $new_path;
}
$image = wp_get_image_editor($old_root_path);
if (!is_wp_error($image)) {
$current_size = $image->get_size();
$ow = $current_size['width'];
$oh = $current_size['height'];
$old_aspect = $ow / $oh;
if ($h) {
$new_aspect = $w / $h;
if ($new_aspect > $old_aspect) {
//cropping a vertical photo horitzonally
$oht = $ow / $new_aspect;
$oy = ($oh - $oht) / 6;
$image->crop(0, $oy, $ow, $oht, $w, $h);
} else {
$owt = $oh * $new_aspect;
$ox = $ow / 2 - $owt / 2;
$image->crop($ox, 0, $owt, $oh, $w, $h);
}
} else {
$h = $w;
if ($old_aspect < 1) {
$h = $w / $old_aspect;
$image->crop(0, 0, $ow, $oh, $w, $h);
} else {
$image->resize($w, $h);
}
}
$result = $image->save($new_root_path);
if (is_wp_error($result)) {
error_log('Error resizing image');
error_log(print_r($result, true));
}
if ($abs) {
return untrailingslashit(site_url()) . $new_path;
}
return $new_path;
} else {
if (isset($image->error_data['error_loading_image'])) {
TimberHelper::error_log('Error loading ' . $image->error_data['error_loading_image']);
} else {
TimberHelper::error_log($image);
}
}
return $src;
}
示例10: run
/**
* Performs the actual image manipulation,
* including saving the target file.
*
* @param string $load_filename filepath (not URL) to source file
* (ex: /src/var/www/wp-content/uploads/my-pic.jpg)
* @param string $save_filename filepath (not URL) where result file should be saved
* (ex: /src/var/www/wp-content/uploads/my-pic-lbox-300x200-FF3366.jpg)
* @return bool true if everything went fine, false otherwise
*/
public function run($load_filename, $save_filename)
{
$w = $this->w;
$h = $this->h;
$bg = imagecreatetruecolor($w, $h);
$c = self::hexrgb($this->color);
$bgColor = imagecolorallocate($bg, $c['red'], $c['green'], $c['blue']);
imagefill($bg, 0, 0, $bgColor);
$image = wp_get_image_editor($load_filename);
if (!is_wp_error($image)) {
$current_size = $image->get_size();
$ow = $current_size['width'];
$oh = $current_size['height'];
$new_aspect = $w / $h;
$old_aspect = $ow / $oh;
if ($new_aspect > $old_aspect) {
//taller than goal
$h_scale = $h / $oh;
$owt = $ow * $h_scale;
$y = 0;
$x = $w / 2 - $owt / 2;
$oht = $h;
$image->crop(0, 0, $ow, $oh, $owt, $oht);
} else {
$w_scale = $w / $ow;
$oht = $oh * $w_scale;
$x = 0;
$y = $h / 2 - $oht / 2;
$owt = $w;
$image->crop(0, 0, $ow, $oh, $owt, $oht);
}
$image->save($save_filename);
$func = 'imagecreatefromjpeg';
$ext = pathinfo($save_filename, PATHINFO_EXTENSION);
if ($ext == 'gif') {
$func = 'imagecreatefromgif';
} else {
if ($ext == 'png') {
$func = 'imagecreatefrompng';
}
}
$image = $func($save_filename);
imagecopy($bg, $image, $x, $y, 0, 0, $owt, $oht);
imagejpeg($bg, $save_filename);
return true;
} else {
TimberHelper::error_log($image);
}
return false;
}
示例11: get_sidebar_from_php
/**
* Get sidebar from PHP
*
* @param string $sidebar
* @param array $data
* @return string
*/
public static function get_sidebar_from_php($sidebar = '', $data)
{
$caller = self::get_calling_script_dir();
$loader = new TimberLoader();
$uris = $loader->get_locations($caller);
ob_start();
$found = false;
foreach ($uris as $uri) {
if (file_exists(trailingslashit($uri) . $sidebar)) {
include trailingslashit($uri) . $sidebar;
$found = true;
break;
}
}
if (!$found) {
TimberHelper::error_log('error loading your sidebar, check to make sure the file exists');
}
$ret = ob_get_contents();
ob_end_clean();
return $ret;
}
示例12: run
/**
* Performs the actual image manipulation,
* including saving the target file.
*
* @param string $load_filename filepath (not URL) to source file
* (ex: /src/var/www/wp-content/uploads/my-pic.jpg)
* @param string $save_filename filepath (not URL) where result file should be saved
* (ex: /src/var/www/wp-content/uploads/my-pic-300x200-c-default.jpg)
* @return bool true if everything went fine, false otherwise
*/
public function run($load_filename, $save_filename)
{
$image = wp_get_image_editor($load_filename);
if (!is_wp_error($image)) {
$w = $this->w;
$h = $this->h;
$crop = $this->crop;
$current_size = $image->get_size();
$src_w = $current_size['width'];
$src_h = $current_size['height'];
$src_ratio = $src_w / $src_h;
if (!$h) {
$h = round($w / $src_ratio);
}
if (!$w) {
//the user wants to resize based on constant height
$w = round($h * $src_ratio);
}
// Get ratios
$dest_ratio = $w / $h;
$src_wt = $src_h * $dest_ratio;
$src_ht = $src_w / $dest_ratio;
if (!$crop) {
// Always crop, to allow resizing upwards
$image->crop(0, 0, $src_w, $src_h, $w, $h);
} else {
//start with defaults:
$src_x = $src_w / 2 - $src_wt / 2;
$src_y = ($src_h - $src_ht) / 6;
//now specific overrides based on options:
if ($crop == 'center') {
// Get source x and y
$src_x = round(($src_w - $src_wt) / 2);
$src_y = round(($src_h - $src_ht) / 2);
} else {
if ($crop == 'top') {
$src_y = 0;
} else {
if ($crop == 'bottom') {
$src_y = $src_h - $src_ht;
} else {
if ($crop == 'left') {
$src_x = 0;
} else {
if ($crop == 'right') {
$src_x = $src_w - $src_wt;
}
}
}
}
}
// Crop the image
if ($dest_ratio > $src_ratio) {
$image->crop(0, $src_y, $src_w, $src_ht, $w, $h);
} else {
$image->crop($src_x, 0, $src_wt, $src_h, $w, $h);
}
}
$result = $image->save($save_filename);
if (is_wp_error($result)) {
error_log('Error resizing image');
error_log(print_r($result, true));
return false;
} else {
return true;
}
} else {
if (isset($image->error_data['error_loading_image'])) {
TimberHelper::error_log('Error loading ' . $image->error_data['error_loading_image']);
} else {
TimberHelper::error_log($image);
}
}
return false;
}
示例13: init
/**
* @param int $iid
*/
function init($iid = false)
{
if (!is_numeric($iid) && is_string($iid)) {
if (strstr($iid, '://')) {
$this->init_with_url($iid);
return;
}
if (strstr($iid, ABSPATH)) {
$this->init_with_file_path($iid);
return;
}
if (strstr(strtolower($iid), '.jpg')) {
$this->init_with_relative_path($iid);
return;
}
}
$image_info = $this->get_image_info($iid);
$this->import($image_info);
$basedir = self::wp_upload_dir();
$basedir = $basedir['basedir'];
if (isset($this->file)) {
$this->file_loc = $basedir . DIRECTORY_SEPARATOR . $this->file;
} else {
if (isset($this->_wp_attached_file)) {
$this->file = reset($this->_wp_attached_file);
$this->file_loc = $basedir . DIRECTORY_SEPARATOR . $this->file;
}
}
if (isset($image_info['id'])) {
$this->ID = $image_info['id'];
} else {
if (is_numeric($iid)) {
$this->ID = $iid;
}
}
if (isset($this->ID)) {
$custom = get_post_custom($this->ID);
foreach ($custom as $key => $value) {
$this->{$key} = $value[0];
}
} else {
if (is_array($iid) || is_object($iid)) {
TimberHelper::error_log('Not able to init in TimberImage with iid=');
TimberHelper::error_log($iid);
} else {
TimberHelper::error_log('Not able to init in TimberImage with iid=' . $iid);
}
}
}
示例14: get_object_by_property
/**
*
*
* @param array $array
* @param string $key
* @param mixed $value
* @return array|null
* @throws Exception
*/
public static function get_object_by_property($array, $key, $value)
{
if (is_array($array)) {
foreach ($array as $arr) {
if ($arr->{$key} == $value) {
return $arr;
}
}
} else {
throw new InvalidArgumentException('$array is not an array, got:');
TimberHelper::error_log($array);
}
}
示例15: wp_resize_letterbox
function wp_resize_letterbox($src, $w, $h, $color = '#000000')
{
//$old_file = TimberHelper::get_full_path($src);
$urlinfo = parse_url($src);
$old_file = ABSPATH . $urlinfo['path'];
$new_file = TimberImageHelper::get_letterbox_file_path($urlinfo['path'], $w, $h);
$new_file_rel = TimberImageHelper::get_letterbox_file_rel($urlinfo['path'], $w, $h);
$new_file_boxed = str_replace('-lb-', '-lbox-', $new_file);
if (file_exists($new_file_boxed)) {
$new_file_rel = str_replace('-lb-', '-lbox-', $new_file_rel);
return $new_file_rel;
}
$bg = imagecreatetruecolor($w, $h);
$c = hexrgb($color);
$white = imagecolorallocate($bg, $c['red'], $c['green'], $c['blue']);
imagefill($bg, 0, 0, $white);
$image = wp_get_image_editor($old_file);
if (!is_wp_error($image)) {
$current_size = $image->get_size();
$ow = $current_size['width'];
$oh = $current_size['height'];
$new_aspect = $w / $h;
$old_aspect = $ow / $oh;
if ($new_aspect > $old_aspect) {
//taller than goal
$h_scale = $h / $oh;
$owt = $ow * $h_scale;
$y = 0;
$x = $w / 2 - $owt / 2;
$oht = $h;
$image->crop(0, 0, $ow, $oh, $owt, $oht);
} else {
$w_scale = $w / $ow;
$oht = $oh * $w_scale;
$x = 0;
$y = $h / 2 - $oht / 2;
$owt = $w;
$image->crop(0, 0, $ow, $oh, $owt, $oht);
}
$image->save($new_file);
$func = 'imagecreatefromjpeg';
$ext = pathinfo($new_file, PATHINFO_EXTENSION);
if ($ext == 'gif') {
$func = 'imagecreatefromgif';
} else {
if ($ext == 'png') {
$func = 'imagecreatefrompng';
}
}
$image = $func($new_file);
imagecopy($bg, $image, $x, $y, 0, 0, $owt, $oht);
$new_file = str_replace('-lb-', '-lbox-', $new_file);
imagejpeg($bg, $new_file);
return TimberHelper::get_rel_path($new_file);
} else {
TimberHelper::error_log($image);
}
return null;
}