/** * WordPress Error API. * * Contains the WP_Error class and the is_wp_error() function. * * @package WordPress */ /** * WordPress Error class. * * Container for checking for WordPress errors and error messages. Return * WP_Error and use is_wp_error() to check if this class is returned. Many * core WordPress functions pass this class in the event of an error and * if not handled properly will result in code errors. * * @package WordPress * @since 2.1.0 */ class WP_Error { /** * Stores the list of errors. * * @since 2.1.0 * @var array */ public $errors = array(); /** * Stores the list of data for error codes. * * @since 2.1.0 * @var array */ public $error_data = array(); /** * Initialize the error. * * If `$code` is empty, the other parameters will be ignored. * When `$code` is not empty, `$message` will be used even if * it is empty. The `$data` parameter will be used only if it * is not empty. * * Though the class is constructed with a single error code and * message, multiple codes can be added using the `add()` method. * * @since 2.1.0 * * @param string|int $code Error code * @param string $message Error message * @param mixed $data Optional. Error data. */ public function __construct( $code = '', $message = '', $data = '' ) { if ( empty($code) ) return; $this->errors[$code][] = $message; if ( ! empty($data) ) $this->error_data[$code] = $data; } /** * Retrieve all error codes. * * @since 2.1.0 * @access public * * @return array List of error codes, if available. */ public function get_error_codes() { if ( empty($this->errors) ) return array(); return array_keys($this->errors); } /** * Retrieve first error code available. * * @since 2.1.0 * @access public * * @return string|int Empty string, if no error codes. */ public function get_error_code() { $codes = $this->get_error_codes(); if ( empty($codes) ) return ''; return $codes[0]; } /** * Retrieve all error messages or error messages matching code. * * @since 2.1.0 * * @param string|int $code Optional. Retrieve messages matching code, if exists. * @return array Error strings on success, or empty array on failure (if using code parameter). */ public function get_error_messages($code = '') { // Return all messages if no code specified. if ( empty($code) ) { $all_messages = array(); foreach ( (array) $this->errors as $code => $messages ) $all_messages = array_merge($all_messages, $messages); return $all_messages; } if ( isset($this->errors[$code]) ) return $this->errors[$code]; else return array(); } /** * Get single error message. * * This will get the first message available for the code. If no code is * given then the first code available will be used. * * @since 2.1.0 * * @param string|int $code Optional. Error code to retrieve message. * @return string */ public function get_error_message($code = '') { if ( empty($code) ) $code = $this->get_error_code(); $messages = $this->get_error_messages($code); if ( empty($messages) ) return ''; return $messages[0]; } /** * Retrieve error data for error code. * * @since 2.1.0 * * @param string|int $code Optional. Error code. * @return mixed Error data, if it exists. */ public function get_error_data($code = '') { if ( empty($code) ) $code = $this->get_error_code(); if ( isset($this->error_data[$code]) ) return $this->error_data[$code]; } /** * Add an error or append additional message to an existing error. * * @since 2.1.0 * @access public * * @param string|int $code Error code. * @param string $message Error message. * @param mixed $data Optional. Error data. */ public function add($code, $message, $data = '') { $this->errors[$code][] = $message; if ( ! empty($data) ) $this->error_data[$code] = $data; } /** * Add data for error code. * * The error code can only contain one error data. * * @since 2.1.0 * * @param mixed $data Error data. * @param string|int $code Error code. */ public function add_data($data, $code = '') { if ( empty($code) ) $code = $this->get_error_code(); $this->error_data[$code] = $data; } /** * Removes the specified error. * * This function removes all error messages associated with the specified * error code, along with any error data for that code. * * @since 4.1.0 * * @param string|int $code Error code. */ public function remove( $code ) { unset( $this->errors[ $code ] ); unset( $this->error_data[ $code ] ); } } /** * Comment API: WP_Comment class * * @package WordPress * @subpackage Comments * @since 4.4.0 */ /** * Core class used to organize comments as instantiated objects with defined members. * * @since 4.4.0 */ final class WP_Comment { /** * Comment ID. * * @since 4.4.0 * @access public * @var int */ public $comment_ID; /** * ID of the post the comment is associated with. * * @since 4.4.0 * @access public * @var int */ public $comment_post_ID = 0; /** * Comment author name. * * @since 4.4.0 * @access public * @var string */ public $comment_author = ''; /** * Comment author email address. * * @since 4.4.0 * @access public * @var string */ public $comment_author_email = ''; /** * Comment author URL. * * @since 4.4.0 * @access public * @var string */ public $comment_author_url = ''; /** * Comment author IP address (IPv4 format). * * @since 4.4.0 * @access public * @var string */ public $comment_author_IP = ''; /** * Comment date in YYYY-MM-DD HH:MM:SS format. * * @since 4.4.0 * @access public * @var string */ public $comment_date = '0000-00-00 00:00:00'; /** * Comment GMT date in YYYY-MM-DD HH::MM:SS format. * * @since 4.4.0 * @access public * @var string */ public $comment_date_gmt = '0000-00-00 00:00:00'; /** * Comment content. * * @since 4.4.0 * @access public * @var string */ public $comment_content; /** * Comment karma count. * * @since 4.4.0 * @access public * @var int */ public $comment_karma = 0; /** * Comment approval status. * * @since 4.4.0 * @access public * @var string */ public $comment_approved = '1'; /** * Comment author HTTP user agent. * * @since 4.4.0 * @access public * @var string */ public $comment_agent = ''; /** * Comment type. * * @since 4.4.0 * @access public * @var string */ public $comment_type = ''; /** * Parent comment ID. * * @since 4.4.0 * @access public * @var int */ public $comment_parent = 0; /** * Comment author ID. * * @since 4.4.0 * @access public * @var int */ public $user_id = 0; /** * Comment children. * * @since 4.4.0 * @access protected * @var array */ protected $children; /** * Whether children have been populated for this comment object. * * @since 4.4.0 * @access protected * @var bool */ protected $populated_children = false; /** * Post fields. * * @since 4.4.0 * @access protected * @var array */ protected $post_fields = array( 'post_author', 'post_date', 'post_date_gmt', 'post_content', 'post_title', 'post_excerpt', 'post_status', 'comment_status', 'ping_status', 'post_name', 'to_ping', 'pinged', 'post_modified', 'post_modified_gmt', 'post_content_filtered', 'post_parent', 'guid', 'menu_order', 'post_type', 'post_mime_type', 'comment_count' ); /** * Retrieves a WP_Comment instance. * * @since 4.4.0 * @access public * @static * * @global wpdb $wpdb WordPress database abstraction object. * * @param int $id Comment ID. * @return WP_Comment|false Comment object, otherwise false. */ public static function get_instance( $id ) { global $wpdb; $comment_id = (int) $id; if ( ! $comment_id ) { return false; } $_comment = wp_cache_get( $comment_id, 'comment' ); if ( ! $_comment ) { $_comment = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $wpdb->comments WHERE comment_ID = %d LIMIT 1", $comment_id ) ); if ( ! $_comment ) { return false; } wp_cache_add( $_comment->comment_ID, $_comment, 'comment' ); } return new WP_Comment( $_comment ); } /** * Constructor. * * Populates properties with object vars. * * @since 4.4.0 * @access public * * @param WP_Comment $comment Comment object. */ public function __construct( $comment ) { foreach ( get_object_vars( $comment ) as $key => $value ) { $this->$key = $value; } } /** * Convert object to array. * * @since 4.4.0 * @access public * * @return array Object as array. */ public function to_array() { return get_object_vars( $this ); } /** * Get the children of a comment. * * @since 4.4.0 * @access public * * @param array $args { * Array of arguments used to pass to get_comments() and determine format. * * @type string $format Return value format. 'tree' for a hierarchical tree, 'flat' for a flattened array. * Default 'tree'. * @type string $status Comment status to limit results by. Accepts 'hold' (`comment_status=0`), * 'approve' (`comment_status=1`), 'all', or a custom comment status. * Default 'all'. * @type string $hierarchical Whether to include comment descendants in the results. * 'threaded' returns a tree, with each comment's children * stored in a `children` property on the `WP_Comment` object. * 'flat' returns a flat array of found comments plus their children. * Pass `false` to leave out descendants. * The parameter is ignored (forced to `false`) when `$fields` is 'ids' or 'counts'. * Accepts 'threaded', 'flat', or false. Default: 'threaded'. * @type string|array $orderby Comment status or array of statuses. To use 'meta_value' * or 'meta_value_num', `$meta_key` must also be defined. * To sort by a specific `$meta_query` clause, use that * clause's array key. Accepts 'comment_agent', * 'comment_approved', 'comment_author', * 'comment_author_email', 'comment_author_IP', * 'comment_author_url', 'comment_content', 'comment_date', * 'comment_date_gmt', 'comment_ID', 'comment_karma', * 'comment_parent', 'comment_post_ID', 'comment_type', * 'user_id', 'comment__in', 'meta_value', 'meta_value_num', * the value of $meta_key, and the array keys of * `$meta_query`. Also accepts false, an empty array, or * 'none' to disable `ORDER BY` clause. * } * @return array Array of `WP_Comment` objects. */ public function get_children( $args = array() ) { $defaults = array( 'format' => 'tree', 'status' => 'all', 'hierarchical' => 'threaded', 'orderby' => '', ); $_args = wp_parse_args( $args, $defaults ); $_args['parent'] = $this->comment_ID; if ( is_null( $this->children ) ) { if ( $this->populated_children ) { $this->children = array(); } else { $this->children = get_comments( $_args ); } } if ( 'flat' === $_args['format'] ) { $children = array(); foreach ( $this->children as $child ) { $child_args = $_args; $child_args['format'] = 'flat'; // get_children() resets this value automatically. unset( $child_args['parent'] ); $children = array_merge( $children, array( $child ), $child->get_children( $child_args ) ); } } else { $children = $this->children; } return $children; } /** * Add a child to the comment. * * Used by `WP_Comment_Query` when bulk-filling descendants. * * @since 4.4.0 * @access public * * @param WP_Comment $child Child comment. */ public function add_child( WP_Comment $child ) { $this->children[ $child->comment_ID ] = $child; } /** * Get a child comment by ID. * * @since 4.4.0 * @access public * * @param int $child_id ID of the child. * @return WP_Comment|bool Returns the comment object if found, otherwise false. */ public function get_child( $child_id ) { if ( isset( $this->children[ $child_id ] ) ) { return $this->children[ $child_id ]; } return false; } /** * Set the 'populated_children' flag. * * This flag is important for ensuring that calling `get_children()` on a childless comment will not trigger * unneeded database queries. * * @since 4.4.0 * * @param bool $set Whether the comment's children have already been populated. */ public function populated_children( $set ) { $this->populated_children = (bool) $set; } /** * Check whether a non-public property is set. * * If `$name` matches a post field, the comment post will be loaded and the post's value checked. * * @since 4.4.0 * @access public * * @param string $name Property name. * @return bool */ public function __isset( $name ) { if ( in_array( $name, $this->post_fields ) && 0 !== (int) $this->comment_post_ID ) { $post = get_post( $this->comment_post_ID ); return property_exists( $post, $name ); } } /** * Magic getter. * * If `$name` matches a post field, the comment post will be loaded and the post's value returned. * * @since 4.4.0 * @access public * * @param string $name * @return mixed */ public function __get( $name ) { if ( in_array( $name, $this->post_fields ) ) { $post = get_post( $this->comment_post_ID ); return $post->$name; } } } باقة – مجلة عربية تحتوي على معلومات في شتى المجالات
أخبار عاجلة

مايكروسوفت تنهي دعم ويندوز 10 تحديث نوفمبر وأوفيس 2007

أعلنت شركة مايكروسوفت اليوم الثلاثاء عن إنهاء دعمها لنظامها التشغيلي ويندوز 10 نسخة تحديث نوفمبر/تشرين الثاني التي تحمل رقم الإصدار 1511، كما أعلنت عن إنهاء دعم الشركة لحزمة البرمجيات المكتبية أوفيس 2007، وتعتبر عملية إنهاء الدعم لكلا النسختين ليس من قبيل المصادفة، حيث تعمد مايكروسوفت إلى إصدار تصحيحات منتظمة كل …

أكمل القراءة »

متى أعطى لطفلى الرضيع الكالسيوم..؟

متى أعطى لطفلى الرضيع الكالسيوم..؟ الكالسيوم يعد أحد أهم العناصر الغذائية اللازمة لبناء العظام والأسنان، وهو العنصر الأساسي لعمل العضلات والأعصاب وإنتاج الهرمونات. في السنة الأولى من العمر، يُعد حليب الثدي أو الحليب الصناعي المدعم مصدرًا كافيًا للكالسيوم، الذي يحتاجه جسم الطفل الرضيع للقيام بوظائفه الحيوية بكفاءة. تميل معظم المؤسسات الطبية، …

أكمل القراءة »

لا ترمى قشر البرتقال لهذه الأسباب

كتبت -أميرة مصطفى: نحن نعلم جميعا أن البرتقال جيد لصحتنا، ويرجع ذلك إلى محتواها على نسبة عالية من الفيتامينات مثل “سي”، و “أ ” و “ب”، و الكالسيوم، المغنيسيوم، البوتاسيوم، الفوسفور، والألياف القابلة للذوبان. ولكن هل تعلم أن لقشر البرتقال فوائد صحية قد لا تعرفها مثل تحسين الجهاز الهضمي، والتخلص …

أكمل القراءة »

زهور ونباتات جميلة ولكنها خطرة

زهور ونباتات جميلة ولكنها خطرة النباتات هي سر الحياة نعتمد عليها في غذائنا بشكل كبير وأيضا الحيوانات التي نأكلها تعتمد عليها في غذائها، كما أنها تنقي الهواء وتقلل من نسب التلوث، وتبهرنا بجمالها في أشكال متعددة من زهور وأشجار ونخيل لكنها في بعض الأحيان قد تكون خطرة. فبعض الزهور قد …

أكمل القراءة »

دراسة … لغات كثيرة في طريقها للانقراض

كشف الباحثون في دراسة جديدة من نوعها أن الـ 7000 لغة المعروفة على كوكب الأرض تختفي حاليا بمعدل أسرع من اختفاء بعض الأنواع، مع موت لغة تقريبا كل أسبوعين. وبالرغم من أن هذا النوع من الدراسات كان يستخدم لفهم أسباب اختفاء بعض اللغات، لكل حالة على حدة، إلا أن هذه …

أكمل القراءة »

احذر.. 7 أشياء عليك تجنبها أثناء السعال

القاهرة – بوابة الشرق من أكثر الأعراض الصحية التي يتجاهلها الناس “الكحة والسعال” حتى يصبح السعال حاداً أو مزمناً. إليك بعض الاحتياطات الواجب الاهتمام بها لمنع تدهور السعال: الأطعمة الباردة. إذا كنت تشكو من بعض السعال ابتعد عن تناول الآيس كريم والمشروبات الباردة، حتى لو كانت الكحة خفيفة. الإفراط في …

أكمل القراءة »

Powered by themekiller.com anime4online.com animextoon.com apk4phone.com tengag.com moviekillers.com