function webdados_fb_open_graph() { global $webdados_fb_open_graph_plugin_settings, $webdados_fb_open_graph_plugin_name, $webdados_fb_open_graph_plugin_version, $webdados_fb_open_graph_settings; //Upgrade webdados_fb_open_graph_upgrade(); //Get options - OLD (until 0.5.4) /*foreach($webdados_fb_open_graph_plugin_settings as $key) { $$key=get_option('wonderm00n_open_graph_'.$key); }*/ //Get options - NEW (after 0.5.4) extract($webdados_fb_open_graph_settings); //Also set Title Tag? $fb_set_title_tag = 0; //Additional images $fb_image_additional = array(); $fb_type = 'article'; if (is_singular()) { //It's a Post or a Page or an attachment page - It can also be the homepage if it's set as a page global $post; $fb_title = esc_attr(strip_tags(stripslashes($post->post_title))); //SubHeading if ($fb_show_subheading == 1) { if (webdados_fb_open_graph_subheadingactive()) { $fb_title .= ' - ' . get_the_subheading(); } } $fb_url = get_permalink(); if (is_front_page()) { /* Fix homepage type when it's a static page */ $fb_url = get_option('home') . (intval($fb_url_add_trailing) == 1 ? '/' : ''); $fb_type = trim($fb_type_homepage == '' ? 'website' : $fb_type_homepage); } if (trim($post->post_excerpt) != '') { //If there's an excerpt that's what we'll use $fb_desc = trim($post->post_excerpt); } else { //If not we grab it from the content $fb_desc = trim($post->post_content); } $fb_desc = intval($fb_desc_chars) > 0 ? mb_substr(esc_attr(strip_tags(strip_shortcodes(stripslashes($fb_desc)))), 0, $fb_desc_chars) : esc_attr(strip_tags(strip_shortcodes(stripslashes($fb_desc)))); if (intval($fb_image_show) == 1 || intval($fb_image_show_schema) == 1 || intval($fb_image_show_twitter) == 1) { $fb_image = webdados_fb_open_graph_post_image($fb_image_use_specific, $fb_image_use_featured, $fb_image_use_content, $fb_image_use_media, $fb_image_use_default, $fb_image); } //Author $author_id = $post->post_author; if ($author_id > 0) { $fb_author = get_the_author_meta('facebook', $author_id); $fb_author_meta = get_the_author_meta('display_name', $author_id); $fb_author_linkrelgp = get_the_author_meta('googleplus', $author_id); $fb_author_twitter = get_the_author_meta('twitter', $author_id); } else { $fb_author = ''; $fb_author_meta = ''; $fb_author_linkrelgp = ''; $fb_author_twitter = ''; } //Author - Hide on pages? if (is_page() && $fb_author_hide_on_pages == 1) { $fb_author = ''; $fb_author_meta = ''; $fb_author_linkrelgp = ''; $fb_author_twitter = ''; } //Published and Modified time if (is_singular('post')) { $fb_article_pub_date = get_the_date('c'); $fb_article_mod_date = get_the_modified_date('c'); } else { $fb_article_dates_show = 0; $fb_article_pub_date = ''; $fb_article_mod_date = ''; } //Categories if (is_singular('post')) { $cats = get_the_category(); if (!is_wp_error($cats) && (is_array($cats) && count($cats) > 0)) { $fb_sections = array(); foreach ($cats as $cat) { $fb_sections[] = $cat->name; } } } else { $fb_article_sections_show = 0; } //Business Directory Plugin if ($fb_show_businessdirectoryplugin == 1) { @(include_once ABSPATH . 'wp-admin/includes/plugin.php'); if (is_plugin_active('business-directory-plugin/wpbusdirman.php')) { global $wpbdp; //$bdpaction = _wpbdp_current_action(); $bdpaction = $wpbdp->controller->get_current_action(); switch ($bdpaction) { case 'showlisting': //Listing $listing_id = get_query_var('listing') ? wpbdp_get_post_by_slug(get_query_var('listing'))->ID : wpbdp_getv($_GET, 'id', get_query_var('id')); $bdppost = get_post($listing_id); $fb_title = esc_attr(strip_tags(stripslashes($bdppost->post_title))) . ' - ' . $fb_title; $fb_set_title_tag = 1; $fb_url = get_permalink($listing_id); if (trim($bdppost->post_excerpt) != '') { //If there's an excerpt that's what we'll use $fb_desc = trim($bdppost->post_excerpt); } else { //If not we grab it from the content $fb_desc = trim($bdppost->post_content); } $fb_desc = intval($fb_desc_chars) > 0 ? mb_substr(esc_attr(strip_tags(strip_shortcodes(stripslashes($fb_desc)))), 0, $fb_desc_chars) : esc_attr(strip_tags(strip_shortcodes(stripslashes($fb_desc)))); if (intval($fb_image_show) == 1 || intval($fb_image_show_schema) == 1 || intval($fb_image_show_twitter) == 1) { $thumbdone = false; if (intval($fb_image_use_featured) == 1) { //Featured if ($id_attachment = get_post_thumbnail_id($bdppost->ID)) { //There's a featured/thumbnail image for this listing $fb_image = wp_get_attachment_url($id_attachment, false); $thumbdone = true; } } if (!$thumbdone) { //Main image loaded if ($thumbnail_id = wpbdp_listings_api()->get_thumbnail_id($bdppost->ID)) { $fb_image = wp_get_attachment_url($thumbnail_id, false); } } } break; case 'browsecategory': //Categories $term = get_term_by('slug', get_query_var('category'), wpbdp_categories_taxonomy()); $fb_title = esc_attr(strip_tags(stripslashes($term->name))) . ' - ' . $fb_title; $fb_set_title_tag = 1; $fb_url = get_term_link($term); if (trim($term->description) != '') { $fb_desc = trim($term->description); } break; case 'main': //Main page //No changes break; default: //No changes break; } } } } else { global $wp_query; //Other pages - Defaults $fb_title = esc_attr(strip_tags(stripslashes(get_bloginfo('name')))); //$fb_url=get_option('home').(intval($fb_url_add_trailing)==1 ? '/' : ''); //2013-11-4 changed from 'siteurl' to 'home' $fb_url = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on' ? 'https://' : 'http://') . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; //Not really canonical but will work for now //These are only used in posts/pages $fb_article_sections_show = 0; $fb_article_dates_show = 0; $fb_author_show = 0; $fb_author_show_meta = 0; $fb_author_show_linkrelgp = 0; $fb_author_show_twitter = 0; switch (trim($fb_desc_homepage)) { case 'custom': $fb_desc = esc_attr(strip_tags(stripslashes($fb_desc_homepage_customtext))); //WPML? if (function_exists('icl_object_id') && function_exists('icl_register_string')) { global $sitepress; if (ICL_LANGUAGE_CODE != $sitepress->get_default_language()) { $fb_desc = icl_t('wd-fb-og', 'wd_fb_og_desc_homepage_customtext', $fb_desc); } else { //We got it already } } break; default: $fb_desc = esc_attr(strip_tags(stripslashes(get_bloginfo('description')))); break; } if (is_category()) { $fb_title = esc_attr(strip_tags(stripslashes(single_cat_title('', false)))); $term = $wp_query->get_queried_object(); $fb_url = get_term_link($term, $term->taxonomy); $cat_desc = trim(esc_attr(strip_tags(stripslashes(category_description())))); if (trim($cat_desc) != '') { $fb_desc = $cat_desc; } } else { if (is_tag()) { $fb_title = esc_attr(strip_tags(stripslashes(single_tag_title('', false)))); $term = $wp_query->get_queried_object(); $fb_url = get_term_link($term, $term->taxonomy); $tag_desc = trim(esc_attr(strip_tags(stripslashes(tag_description())))); if (trim($tag_desc) != '') { $fb_desc = $tag_desc; } } else { if (is_tax()) { $fb_title = esc_attr(strip_tags(stripslashes(single_term_title('', false)))); $term = $wp_query->get_queried_object(); $fb_url = get_term_link($term, $term->taxonomy); //WooCommerce if (intval($fb_image_show) == 1 || intval($fb_image_show_schema) == 1 || intval($fb_image_show_twitter) == 1) { if (class_exists('woocommerce') && $fb_wc_usecategthumb == 1 && is_product_category()) { if ($thumbnail_id = get_woocommerce_term_meta($term->term_id, 'thumbnail_id', true)) { if ($image = wp_get_attachment_url($thumbnail_id)) { $fb_image = $image; } } } } } else { if (is_search()) { $fb_title = esc_attr(strip_tags(stripslashes(__('Search for') . ' "' . get_search_query() . '"'))); $fb_url = get_search_link(); } else { if (is_author()) { $fb_title = esc_attr(strip_tags(stripslashes(get_the_author_meta('display_name', get_query_var('author'))))); $fb_url = get_author_posts_url(get_query_var('author'), get_query_var('author_name')); } else { if (is_archive()) { if (is_day()) { $fb_title = esc_attr(strip_tags(stripslashes(get_query_var('day') . ' ' . single_month_title(' ', false) . ' ' . __('Archives')))); $fb_url = get_day_link(get_query_var('year'), get_query_var('monthnum'), get_query_var('day')); } else { if (is_month()) { $fb_title = esc_attr(strip_tags(stripslashes(single_month_title(' ', false) . ' ' . __('Archives')))); $fb_url = get_month_link(get_query_var('year'), get_query_var('monthnum')); } else { if (is_year()) { $fb_title = esc_attr(strip_tags(stripslashes(get_query_var('year') . ' ' . __('Archives')))); $fb_url = get_year_link(get_query_var('year')); } } } } else { if (is_front_page()) { $fb_url = get_option('home') . (intval($fb_url_add_trailing) == 1 ? '/' : ''); $fb_type = trim($fb_type_homepage == '' ? 'website' : $fb_type_homepage); } else { //Others... Defaults already set up there } } } } } } } } //If no description let's just add the title if (trim($fb_desc) == '') { $fb_desc = $fb_title; } //YOAST? if ($fb_show_wpseoyoast == 1) { if (defined('WPSEO_VERSION')) { $wpseo = WPSEO_Frontend::get_instance(); //App ID - From our plugin //Admin ID - From our plugin //Locale - From our plugin //Sitename - From our plugin //Title - From WPSEO $fb_title = strip_tags($wpseo->title(false)); //Title - SubHeading plugin if ($fb_show_subheading == 1) { if (webdados_fb_open_graph_subheadingactive()) { $fb_title .= ' - ' . get_the_subheading(); } } //URL - From WPSEO $fb_url = $wpseo->canonical(false); //Description - From WPSEO or our plugin $fb_desc_temp = $wpseo->metadesc(false); $fb_desc = strip_tags(trim($fb_desc_temp) != '' ? trim($fb_desc_temp) : $fb_desc); //Image - From our plugin } } //WooCommerce - Additional product images? if (intval($fb_image_show) == 1 && class_exists('woocommerce') && $fb_wc_useproductgallery == 1 && is_product()) { global $post; $product = new WC_Product($post->ID); if ($attachment_ids = $product->get_gallery_attachment_ids()) { foreach ($attachment_ids as $attachment_id) { if ($image_link = wp_get_attachment_url($attachment_id)) { if (trim($image_link) != '') { $fb_image_additional[] = trim($image_link); } } } } } //Apply Filters $fb_title = apply_filters('fb_og_title', $fb_title); $fb_desc = apply_filters('fb_og_desc', $fb_desc); $fb_image = apply_filters('fb_og_image', $fb_image); $fb_image_additional = apply_filters('fb_og_image_additional', $fb_image_additional); $fb_locale = apply_filters('fb_og_locale', $fb_locale); $fb_image_size = false; if (intval($fb_image_show) == 1 && trim($fb_image) != '') { if (intval($fb_image_size_show) == 1) { if (isset($GLOBALS['webdados_fb_img_size'])) { //Already fetched $fb_image_size = $GLOBALS['webdados_fb_img_size']; } else { $fb_image_size = webdados_fb_open_graph_getimagesize($fb_image); } } } else { $fb_image_size_show = 0; } //No spaces on URLs if (isset($fb_url) && trim($fb_url) != '') { $fb_url = str_replace(' ', '%20', trim($fb_url)); } if (isset($fb_publisher) && trim($fb_publisher) != '') { $fb_publisher = str_replace(' ', '%20', trim($fb_publisher)); } if (isset($fb_publisher_schema) && trim($fb_publisher_schema) != '') { $fb_publisher_schema = str_replace(' ', '%20', trim($fb_publisher_schema)); } if (isset($fb_author) && trim($fb_author) != '') { $fb_author = str_replace(' ', '%20', trim($fb_author)); } if (isset($fb_author_linkrelgp) && trim($fb_author_linkrelgp) != '') { $fb_author_linkrelgp = str_replace(' ', '%20', trim($fb_author_linkrelgp)); } if (isset($fb_image) && trim($fb_image) != '') { $fb_image = str_replace(' ', '%20', trim($fb_image)); } if (isset($fb_image_additional) && is_array($fb_image_additional) && count($fb_image_additional)) { foreach ($fb_image_additional as $key => $value) { $fb_image_additional[$key] = str_replace(' ', '%20', trim($value)); } } $html = ' <!-- START - ' . $webdados_fb_open_graph_plugin_name . ' ' . $webdados_fb_open_graph_plugin_version . ' --> '; if (intval($fb_app_id_show) == 1 && trim($fb_app_id) != '') { $html .= '<meta property="fb:app_id" content="' . trim(esc_attr($fb_app_id)) . '"/> '; } if (intval($fb_admin_id_show) == 1 && trim($fb_admin_id) != '') { $html .= '<meta property="fb:admins" content="' . trim(esc_attr($fb_admin_id)) . '"/> '; } if (intval($fb_locale_show) == 1) { $html .= '<meta property="og:locale" content="' . trim(esc_attr(trim($fb_locale) != '' ? trim($fb_locale) : trim(get_locale()))) . '"/> '; } if (intval($fb_sitename_show) == 1) { $html .= '<meta property="og:site_name" content="' . trim(esc_attr(get_bloginfo('name'))) . '"/> '; } if (intval($fb_title_show) == 1) { $html .= '<meta property="og:title" content="' . trim(esc_attr($fb_title)) . '"/> '; } if (intval($fb_set_title_tag) == 1) { //Does nothing so far. We try to create the <title> tag but it's too late now } if (intval($fb_title_show_schema) == 1) { $html .= '<meta itemprop="name" content="' . trim(esc_attr($fb_title)) . '"/> '; } if (intval($fb_title_show_twitter) == 1) { $html .= '<meta name="twitter:title" content="' . trim(esc_attr($fb_title)) . '"/> '; } if (intval($fb_url_show) == 1) { $html .= '<meta property="og:url" content="' . trim(esc_attr($fb_url)) . '"/> '; } if (intval($fb_url_show_twitter) == 1) { $html .= '<meta name="twitter:url" content="' . trim(esc_attr($fb_url)) . '"/> '; } if (intval($fb_url_canonical) == 1) { $html .= '<link rel="canonical" href="' . trim(esc_attr($fb_url)) . '"/> '; } if (intval($fb_type_show) == 1) { $html .= '<meta property="og:type" content="' . trim(esc_attr($fb_type)) . '"/> '; } if (intval($fb_article_dates_show) == 1 && trim($fb_article_pub_date) != '') { $html .= '<meta property="article:published_time" content="' . trim(esc_attr($fb_article_pub_date)) . '"/> '; } if (intval($fb_article_dates_show) == 1 && trim($fb_article_mod_date) != '') { $html .= '<meta property="article:modified_time" content="' . trim(esc_attr($fb_article_mod_date)) . '" /> <meta property="og:updated_time" content="' . trim(esc_attr($fb_article_mod_date)) . '" /> '; } if (intval($fb_article_sections_show) == 1 && isset($fb_sections) && is_array($fb_sections) && count($fb_sections) > 0) { foreach ($fb_sections as $fb_section) { $html .= '<meta property="article:section" content="' . trim(esc_attr($fb_section)) . '"/> '; } } if (intval($fb_publisher_show) == 1 && trim($fb_publisher) != '') { $html .= '<meta property="article:publisher" content="' . trim(esc_attr($fb_publisher)) . '"/> '; } if (intval($fb_publisher_show_schema) == 1 && trim($fb_publisher_schema) != '') { $html .= '<link rel="publisher" href="' . trim(esc_attr($fb_publisher_schema)) . '"/> '; } if (intval($fb_publisher_show_twitter) == 1 && trim($fb_publisher_twitteruser) != '') { $html .= '<meta name="twitter:site" content="@' . trim(esc_attr($fb_publisher_twitteruser)) . '"/> '; } if (intval($fb_author_show) == 1 && $fb_author != '') { $html .= '<meta property="article:author" content="' . trim(esc_attr($fb_author)) . '"/> '; } if (intval($fb_author_show_meta) == 1 && $fb_author_meta != '') { $html .= '<meta name="author" content="' . trim(esc_attr($fb_author_meta)) . '"/> '; } if (intval($fb_author_show_linkrelgp) == 1 && trim($fb_author_linkrelgp) != '') { $html .= '<link rel="author" href="' . trim(esc_attr($fb_author_linkrelgp)) . '"/> '; } if (intval($fb_author_show_twitter) == 1 && (trim($fb_author_twitter) != '' || trim($fb_publisher_twitteruser) != '')) { $html .= '<meta name="twitter:creator" content="@' . trim(esc_attr(trim($fb_author_twitter) != '' ? trim($fb_author_twitter) : trim($fb_publisher_twitteruser))) . '"/> '; } if (intval($fb_desc_show) == 1) { $html .= '<meta property="og:description" content="' . trim(esc_attr($fb_desc)) . '"/> '; } if (intval($fb_desc_show_meta) == 1) { $html .= '<meta name="description" content="' . trim(esc_attr($fb_desc)) . '"/> '; } if (intval($fb_desc_show_schema) == 1) { $html .= '<meta itemprop="description" content="' . trim(esc_attr($fb_desc)) . '"/> '; } if (intval($fb_desc_show_twitter) == 1) { $html .= '<meta name="twitter:description" content="' . trim(esc_attr($fb_desc)) . '"/> '; } if (intval($fb_image_show) == 1 && trim($fb_image) != '') { $html .= '<meta property="og:image" content="' . trim(esc_attr($fb_image)) . '"/> '; } if (intval($fb_image_show) == 1 && isset($fb_image_additional) && is_array($fb_image_additional) && count($fb_image_additional) > 0) { foreach ($fb_image_additional as $fb_image_additional_temp) { $html .= '<meta property="og:image" content="' . trim(esc_attr($fb_image_additional_temp)) . '"/> '; } } else { //We only show the image size if we only have one image if (intval($fb_image_size_show) == 1 && isset($fb_image_size) && is_array($fb_image_size) != '') { $html .= '<meta property="og:image:width" content="' . intval(esc_attr($fb_image_size[0])) . '"/> <meta property="og:image:height" content="' . intval(esc_attr($fb_image_size[1])) . '"/> '; } } if (intval($fb_image_show_schema) == 1 && trim($fb_image) != '') { $html .= '<meta itemprop="image" content="' . trim(esc_attr($fb_image)) . '"/> '; } if (intval($fb_image_show_twitter) == 1 && trim($fb_image) != '') { $html .= '<meta name="twitter:image:src" content="' . trim(esc_attr($fb_image)) . '"/> '; } if (intval($fb_title_show_twitter) == 1 || intval($fb_url_show_twitter) == 1 || $fb_author_show_twitter == 1 || $fb_publisher_show_twitter == 1 || $fb_image_show_twitter == 1) { $html .= '<meta name="twitter:card" content="' . trim(esc_attr($fb_twitter_card_type)) . '"/> '; } $html .= '<!-- END - ' . $webdados_fb_open_graph_plugin_name . ' --> '; echo $html; }
function _wpbdp_render_excerpt() { global $post; static $counter = 0; $sticky_status = wpbdp_listings_api()->get_sticky_status($post->ID); $html = ''; $html .= sprintf('<div id="wpbdp-listing-%d" class="wpbdp-listing excerpt wpbdp-listing-excerpt %s %s %s cf">', $post->ID, $sticky_status, $counter & 1 ? 'odd' : 'even', apply_filters('wpbdp_excerpt_view_css', '', $post->ID)); $html .= wpbdp_capture_action('wpbdp_before_excerpt_view', $post->ID); $d = WPBDP_ListingFieldDisplayItem::prepare_set($post->ID, 'excerpt'); $listing_fields = implode('', WPBDP_ListingFieldDisplayItem::walk_set('html', $d->fields)); $social_fields = implode('', WPBDP_ListingFieldDisplayItem::walk_set('html', $d->social)); $vars = array('is_sticky' => $sticky_status == 'sticky', 'thumbnail' => wpbdp_get_option('allow-images') && wpbdp_get_option('show-thumbnail') ? wpbdp_listing_thumbnail(null, 'link=listing&class=wpbdmthumbs wpbdp-excerpt-thumbnail') : '', 'title' => get_the_title(), 'listing_fields' => apply_filters('wpbdp_excerpt_listing_fields', $listing_fields, $post->ID), 'fields' => $d->fields, 'listing_id' => $post->ID); $vars = apply_filters('wpbdp_listing_template_vars', $vars, $post->ID); $vars = apply_filters('wpbdp_excerpt_template_vars', $vars, $post->ID); $html .= wpbdp_render('businessdirectory-excerpt', $vars, true); $social_fields = apply_filters('wpbdp_excerpt_social_fields', $social_fields, $post->ID); if ($social_fields) { $html .= '<div class="social-fields cf">' . $social_fields . '</div>'; } $html .= wpbdp_capture_action('wpbdp_after_excerpt_view', $post->ID); $html .= wpbdp_render('parts/listing-buttons', array('listing_id' => $post->ID, 'view' => 'excerpt'), false); $html .= '</div>'; $counter++; return $html; }
public function _notify_expiring_listings() { if (wpbdp_get_option('payment-abandonment')) { $this->payments->notify_abandoned_payments(); } wpbdp_log('Running expirations hook.'); $now = current_time('timestamp'); $api = wpbdp_listings_api(); $api->notify_expiring_listings(0, $now); // notify already expired listings first if (!wpbdp_get_option('listing-renewal')) { return; } $api->notify_expiring_listings(wpbdp_get_option('renewal-email-threshold', 5), $now); // notify listings expiring soon if (wpbdp_get_option('renewal-reminder')) { $threshold = -max(1, intval(wpbdp_get_option('renewal-reminder-threshold'))); $api->notify_expiring_listings($threshold, $now); } }
/** * Displays the listing main image. * @since 2.3 */ function wpbdp_listing_thumbnail($listing_id = null, $args = array()) { if (!$listing_id) { $listing_id = get_the_ID(); } $args = wp_parse_args($args, array('link' => 'picture', 'class' => '', 'echo' => false)); $main_image = false; $image_img = ''; $image_link = ''; $image_classes = 'wpbdp-thumbnail attachment-wpbdp-thumb ' . $args['class']; if ($thumbnail_id = wpbdp_listings_api()->get_thumbnail_id($listing_id)) { $main_image = get_post($thumbnail_id); } else { $images = wpbdp_listings_api()->get_images($listing_id); if ($images) { $main_image = $images[0]; } } if (!$main_image && function_exists('has_post_thumbnail') && has_post_thumbnail($listing_id)) { $image_img = get_the_post_thumbnail($listing_id, 'wpbdp-thumb'); } elseif (!$main_image && wpbdp_get_option('use-default-picture')) { $image_img = sprintf('<img src="%s" alt="%s" title="%s" border="0" width="%d" class="%s" />', WPBDP_URL . 'core/images/default-image-big.gif', get_the_title($listing_id), get_the_title($listing_id), wpbdp_get_option('thumbnail-width'), $image_classes); $image_link = $args['link'] == 'picture' ? WPBDP_URL . 'core/images/default-image-big.gif' : ''; } elseif ($main_image) { _wpbdp_resize_image_if_needed($main_image->ID); $image_img = wp_get_attachment_image($main_image->ID, 'wpbdp-thumb', false, array('alt' => get_the_title($listing_id), 'title' => get_the_title($listing_id), 'class' => $image_classes)); if ($args['link'] == 'picture') { $full_image_data = wp_get_attachment_image_src($main_image->ID, 'wpbdp-large'); $image_link = $full_image_data[0]; } } if (!$image_link && $args['link'] == 'listing') { $image_link = get_permalink($listing_id); } if ($image_img) { if (!$image_link) { return $image_img; } else { return sprintf('<div class="listing-thumbnail"><a href="%s" class="%s" %s>%s</a></div>', $image_link, $args['link'] == 'picture' ? 'thickbox' : '', $args['link'] == 'picture' ? 'data-lightbox="wpbdpgal" rel="wpbdpgal"' : '', $image_img); } } return ''; }
public function search() { $_REQUEST = stripslashes_deep($_REQUEST); $search_args = array(); $results = array(); if (isset($_GET['dosrch'])) { $search_args['q'] = wpbdp_getv($_GET, 'q', null); $search_args['fields'] = array(); // standard search fields $search_args['extra'] = array(); // search fields added by plugins foreach (wpbdp_getv($_GET, 'listingfields', array()) as $field_id => $field_search) { $search_args['fields'][] = array('field_id' => $field_id, 'q' => $field_search); } foreach (wpbdp_getv($_GET, '_x', array()) as $label => $field) { $search_args['extra'][$label] = $field; } $listings_api = wpbdp_listings_api(); if ($search_args['q'] && !$search_args['fields'] && !$search_args['extra']) { $results = $listings_api->quick_search($search_args['q']); } else { $results = $listings_api->search($search_args); } } $form_fields = wpbdp_get_form_fields(array('display_flags' => 'search', 'validators' => '-email')); $fields = ''; foreach ($form_fields as &$field) { $field_value = isset($_REQUEST['listingfields']) && isset($_REQUEST['listingfields'][$field->get_id()]) ? $field->convert_input($_REQUEST['listingfields'][$field->get_id()]) : $field->convert_input(null); $fields .= $field->render($field_value, 'search'); } $args = array('post_type' => WPBDP_POST_TYPE, 'posts_per_page' => wpbdp_get_option('listings-per-page') > 0 ? wpbdp_get_option('listings-per-page') : -1, 'paged' => get_query_var('paged') ? get_query_var('paged') : 1, 'post__in' => $results ? $results : array(0), 'orderby' => wpbdp_get_option('listings-order-by', 'date'), 'order' => wpbdp_get_option('listings-sort', 'ASC')); $args = apply_filters('wpbdp_search_query_posts_args', $args, $search_args); query_posts($args); wpbdp_push_query($GLOBALS['wp_query']); $html = wpbdp_render('search', array('fields' => $fields, 'searching' => isset($_GET['dosrch']) ? true : false, 'show_form' => !isset($_GET['dosrch']) || wpbdp_get_option('show-search-form-in-results')), false); wp_reset_query(); wpbdp_pop_query(); return $html; }
function wpbusdirman_menu_button_upgradelisting() { $post_id = get_the_ID(); if (wpbdp_get_option('featured-on') && get_post($post_id)->post_author == wp_get_current_user()->ID && wpbdp_listings_api()->get_sticky_status(get_the_ID()) == 'normal') { return '<form method="post" action="' . wpbdp_get_page_link('main') . '"><input type="hidden" name="action" value="upgradetostickylisting" /><input type="hidden" name="listing_id" value="' . $post_id . '" /><input type="submit" class="updradetostickylistingbutton" value="' . __("Upgrade Listing", "WPBDM") . '" /></form>'; } return ''; }
public function insert_meta_tags() { global $webdados_fb, $wp_query; //Also set Title Tag? - Needed?? $fb_set_title_tag = 0; //Init values $fb_locale = ''; $fb_title = ''; $fb_url = ''; $fb_desc = ''; $fb_image = ''; $fb_type = 'article'; $fb_author = ''; $fb_author_meta = ''; $fb_author_linkrelgp = ''; $fb_author_twitter = ''; $fb_article_pub_date = ''; $fb_article_mod_date = ''; $fb_image_additional = array(); $fb_additional_tags = array('name' => array(), 'property' => array()); $fb_publisher = trim($this->options['fb_publisher']); $fb_publisher_schema = trim($this->options['fb_publisher_schema']); $fb_publisher_twitteruser = trim($this->options['fb_publisher_twitteruser']); //Homepage Description switch ($this->options['fb_desc_homepage']) { case 'custom': $fb_desc_homepage = $this->options['fb_desc_homepage_customtext']; //WPML? if ($webdados_fb->is_wpml_active()) { global $sitepress; if (ICL_LANGUAGE_CODE != $sitepress->get_default_language()) { $fb_desc_homepage = icl_t('wd-fb-og', 'wd_fb_og_desc_homepage_customtext', $fb_desc_homepage); } } break; default: $fb_desc_homepage = get_bloginfo('description'); break; } //Open tag $html = ' <!-- START - ' . WEBDADOS_FB_PLUGIN_NAME . ' ' . WEBDADOS_FB_VERSION . ' --> '; if (is_singular()) { global $post; // Title //It's a Post or a Page or an attachment page - It can also be the homepage if it's set as a page $fb_title = esc_attr(wp_strip_all_tags(stripslashes($post->post_title), true)); //SubHeading if (isset($this->options['fb_show_subheading']) && intval($this->options['fb_show_subheading']) == 1 && $webdados_fb->is_subheading_plugin_active()) { if (isset($this->options['fb_subheading_position']) && $this->options['fb_subheading_position'] == 'before') { $fb_title = trim(trim(get_the_subheading()) . ' - ' . trim($fb_title), ' -'); } else { $fb_title = trim(trim($fb_title) . ' - ' . trim(get_the_subheading()), ' -'); } } // URL $fb_url = get_permalink(); // Type if it's a homepage page if (is_front_page()) { /* Fix homepage type when it's a static page */ $fb_url = get_option('home') . (intval($this->options['fb_url_add_trailing']) == 1 ? '/' : ''); $fb_type = trim($this->options['fb_type_homepage'] == '' ? 'website' : $this->options['fb_type_homepage']); } // Description if (trim($post->post_excerpt) != '') { //If there's an excerpt that's what we'll use $fb_desc = trim($post->post_excerpt); } else { //If not we grab it from the content $fb_desc = trim($post->post_content); } // Image if (intval($this->options['fb_image_show']) == 1 || intval($this->options['fb_image_show_schema']) == 1 || intval($this->options['fb_image_show_twitter']) == 1) { $fb_image = $this->get_post_image(); } // Author $author_id = $post->post_author; if ($author_id > 0 && !(is_page() && intval($this->options['fb_author_hide_on_pages']) == 1)) { $fb_author = get_the_author_meta('facebook', $author_id); $fb_author_meta = get_the_author_meta('display_name', $author_id); $fb_author_linkrelgp = get_the_author_meta('googleplus', $author_id); $fb_author_twitter = get_the_author_meta('twitter', $author_id); } //Published and Modified time - We should check this out and maybe have it for any kind of post... if (is_singular('post')) { $fb_article_pub_date = get_the_date('c'); $fb_article_mod_date = get_the_modified_date('c'); } else { //Reset dates show because we're not on posts $this->options['fb_article_dates_show'] = 0; } //Sections if (is_singular('post')) { $cats = get_the_category(); if (!is_wp_error($cats) && (is_array($cats) && count($cats) > 0)) { $fb_sections = array(); foreach ($cats as $cat) { $fb_sections[] = $cat->name; } } } else { $this->options['fb_article_sections_show'] = 0; } // Business Directory Plugin if (isset($this->options['fb_show_businessdirectoryplugin']) && $webdados_fb->is_business_directory_active()) { global $wpbdp; $bdp_action = wpbdp_current_action(); $bdp_disable_cpt = wpbdp_get_option('disable-cpt'); $current_view_object = $wpbdp->dispatcher->current_view_object(); switch ($bdp_action) { case 'show_listing': $fb_title = trim(esc_attr(wp_strip_all_tags(stripslashes($this->post->post_title), true)) . ' - ' . $fb_title, ' -'); $fb_set_title_tag = 1; $fb_url = get_permalink($this->post->ID); if (trim($this->post->post_excerpt) != '') { //If there's an excerpt that's what we'll use $fb_desc = trim($this->post->post_excerpt); } else { //If not we grab it from the content $fb_desc = trim($this->post->post_content); } if (intval($this->options['fb_image_show']) == 1 || intval($this->options['fb_image_show_schema']) == 1 || intval($this->options['fb_image_show_twitter']) == 1) { $thumbdone = false; if (intval($this->options['fb_image_use_featured']) == 1) { //Featured if ($id_attachment = get_post_thumbnail_id($this->post->ID)) { //There's a featured/thumbnail image for this listing $fb_image = wp_get_attachment_url($id_attachment, false); $thumbdone = true; } else { } } if (!$thumbdone) { //Main image loaded if ($thumbnail_id = wpbdp_listings_api()->get_thumbnail_id($this->post->ID)) { $fb_image = wp_get_attachment_url($thumbnail_id, false); $thumbdone = true; } } } } } // WooCommerce if ($webdados_fb->is_woocommerce_active() && is_product()) { $fb_type = 'product'; $product = new WC_Product($post->ID); //Price $fb_additional_tags['property']['og_price_amount'] = array($product->get_price_including_tax()); if (function_exists('get_woocommerce_currency')) { $fb_additional_tags['property']['og_price_currency'] = array(get_woocommerce_currency()); } $fb_additional_tags['name']['twitter_label1'] = array(__('Price', 'wd-fb-og')); if (function_exists('get_woocommerce_currency')) { $fb_additional_tags['name']['twitter_data1'] = array($product->get_price_including_tax() . ' ' . get_woocommerce_currency()); } //Additional product images? if (intval($this->options['fb_image_show']) == 1 && $this->options['fb_wc_useproductgallery'] == 1) { if ($attachment_ids = $product->get_gallery_attachment_ids()) { foreach ($attachment_ids as $attachment_id) { if ($image_link = wp_get_attachment_url($attachment_id)) { if (trim($image_link) != '') { $fb_image_additional[] = array('fb_image' => trim($image_link), 'png_overlay' => intval($this->options['fb_wc_usepg_png_overlay']) ? true : false); } } } } } } } else { //Other pages - Defaults $fb_title = esc_attr(wp_strip_all_tags(stripslashes(get_bloginfo('name')), true)); $fb_url = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on' ? 'https://' : 'http://') . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; //Not really canonical but will work for now $fb_image = trim($this->options['fb_image']); $this->options['fb_article_sections_show'] = 0; $this->options['fb_article_dates_show'] = 0; $this->options['fb_author_show'] = 0; $this->options['fb_author_show_meta'] = 0; $this->options['fb_author_show_linkrelgp'] = 0; $this->options['fb_author_show_twitter'] = 0; $this->options['fb_author_show_twitter'] = 0; //Category if (is_category()) { $fb_title = esc_attr(wp_strip_all_tags(stripslashes(single_cat_title('', false)), true)); $term = $wp_query->get_queried_object(); $fb_url = get_term_link($term, $term->taxonomy); $cat_desc = trim(esc_attr(wp_strip_all_tags(stripslashes(category_description()), true))); if (trim($cat_desc) != '') { $fb_desc = $cat_desc; } } else { if (is_tag()) { $fb_title = esc_attr(wp_strip_all_tags(stripslashes(single_tag_title('', false)), true)); $term = $wp_query->get_queried_object(); $fb_url = get_term_link($term, $term->taxonomy); $tag_desc = trim(esc_attr(wp_strip_all_tags(stripslashes(tag_description()), true))); if (trim($tag_desc) != '') { $fb_desc = $tag_desc; } } else { if (is_tax()) { $fb_title = esc_attr(wp_strip_all_tags(stripslashes(single_term_title('', false)), true)); $term = $wp_query->get_queried_object(); $fb_url = get_term_link($term, $term->taxonomy); $tax_desc = trim(esc_attr(wp_strip_all_tags(stripslashes(term_description()), true))); if (trim($tax_desc) != '') { $fb_desc = $tag_desc; } //WooCommerce if ($webdados_fb->is_woocommerce_active() && intval($this->options['fb_wc_usecategthumb']) == 1 && is_product_category()) { if (intval($this->options['fb_image_show']) == 1 || intval($this->options['fb_image_show_schema']) == 1 || intval($this->options['fb_image_show_twitter']) == 1) { if ($thumbnail_id = get_woocommerce_term_meta($term->term_id, 'thumbnail_id', true)) { if ($image = wp_get_attachment_url($thumbnail_id)) { $fb_image = $image; } } } } } else { if (is_search()) { $fb_title = esc_attr(wp_strip_all_tags(stripslashes(__('Search for', 'wd-fb-og') . ' "' . get_search_query() . '"'), true)); $fb_url = get_search_link(); } else { if (is_author()) { $fb_title = esc_attr(wp_strip_all_tags(stripslashes(get_the_author_meta('display_name', get_query_var('author'))), true)); $fb_url = get_author_posts_url(get_query_var('author'), get_query_var('author_name')); } else { if (is_archive()) { if (is_day()) { $fb_title = esc_attr(wp_strip_all_tags(stripslashes(get_query_var('day') . ' ' . single_month_title(' ', false) . ' ' . __('Archives', 'wd-fb-og')), true)); $fb_url = get_day_link(get_query_var('year'), get_query_var('monthnum'), get_query_var('day')); } else { if (is_month()) { $fb_title = esc_attr(wp_strip_all_tags(stripslashes(single_month_title(' ', false) . ' ' . __('Archives', 'wd-fb-og')), true)); $fb_url = get_month_link(get_query_var('year'), get_query_var('monthnum')); } else { if (is_year()) { $fb_title = esc_attr(wp_strip_all_tags(stripslashes(get_query_var('year') . ' ' . __('Archives', 'wd-fb-og')), true)); $fb_url = get_year_link(get_query_var('year')); } } } } else { if (is_front_page()) { $fb_url = get_option('home') . (intval($this->options['fb_url_add_trailing']) == 1 ? '/' : ''); $fb_type = trim($this->options['fb_type_homepage'] == '' ? 'website' : $this->options['fb_type_homepage']); $fb_desc = $fb_desc_homepage; } else { //Others... Defaults already set up there } } } } } } } } //og:type for WPML root page? if ($webdados_fb->is_wpml_active()) { if (class_exists('WPML_Root_Page')) { if (WPML_Root_Page::is_current_request_root()) { $fb_type = trim($this->options['fb_type_homepage'] == '' ? 'website' : $this->options['fb_type_homepage']); } } } //Default description, if empty until now if (trim($fb_desc) == '') { switch ($this->options['fb_desc_default_option']) { case 'custom': $fb_desc = $this->options['fb_desc_default']; //WPML? if ($webdados_fb->is_wpml_active()) { global $sitepress; if (ICL_LANGUAGE_CODE != $sitepress->get_default_language()) { $fb_desc = icl_t('wd-fb-og', 'wd_fb_og_fb_desc_default', $fb_desc); } } break; default: $fb_desc = $fb_desc_homepage; break; } } //Trim description $fb_desc = trim(str_replace(' ', ' ', $fb_desc)); //Non-breaking spaces are usefull on a meta description. We'll just convert them to normal spaces to really trim it $fb_desc = trim(intval($this->options['fb_desc_chars']) > 0 ? mb_substr(wp_strip_all_tags(strip_shortcodes(stripslashes($fb_desc), true)), 0, intval($this->options['fb_desc_chars'])) : wp_strip_all_tags(strip_shortcodes(stripslashes($fb_desc), true))); //YOAST SEO? if ($this->options['fb_show_wpseoyoast'] == 1) { if ($webdados_fb->is_yoast_seo_active()) { $wpseo = WPSEO_Frontend::get_instance(); //Title $fb_title_temp = $wpseo->title(false); $fb_title = wp_strip_all_tags(trim($fb_title_temp) != '' ? trim($fb_title_temp) : $fb_title, true); //Title - SubHeading plugin if ($fb_title_temp != '' && $this->options['fb_show_subheading'] == 1) { if ($webdados_fb->is_subheading_plugin_active()) { if (isset($this->options['fb_subheading_position']) && $this->options['fb_subheading_position'] == 'before') { $fb_title = trim(trim(get_the_subheading()) . ' - ' . trim($fb_title), ' -'); } else { $fb_title = trim(trim($fb_title) . ' - ' . trim(get_the_subheading()), ' -'); } } } //URL $fb_url_temp = $wpseo->canonical(false); $fb_url = wp_strip_all_tags(trim($fb_url_temp) != '' ? trim($fb_url_temp) : $fb_url, true); //Description $fb_desc_temp = $wpseo->metadesc(false); $fb_desc = wp_strip_all_tags(trim($fb_desc_temp) != '' ? trim($fb_desc_temp) : $fb_desc, true); } } //All in One SEO Pack? if ($this->options['fb_show_aioseop'] == 1) { if ($webdados_fb->is_aioseop_active()) { global $aiosp; //Title - Why are we getting the first post title on archives and homepage...?!? $fb_title_temp = $aiosp->orig_title; $fb_title = wp_strip_all_tags(trim($fb_title_temp) != '' ? trim($fb_title_temp) : $fb_title, true); //Title - SubHeading plugin if ($fb_title_temp != '' && $this->options['fb_show_subheading'] == 1) { if ($webdados_fb->is_subheading_plugin_active()) { if (isset($this->options['fb_subheading_position']) && $this->options['fb_subheading_position'] == 'before') { $fb_title = trim(trim(get_the_subheading()) . ' - ' . trim($fb_title), ' -'); } else { $fb_title = trim(trim($fb_title) . ' - ' . trim(get_the_subheading()), ' -'); } } } //URL - See aioseop_class.php 3898 - We have a problem because wp_query is not the same right now /*$fb_url_temp = ''; $aioseop_options = get_option( 'aioseop_options' ); $opts = $aiosp->meta_opts; var_dump($wp_query); $show_page = true; if ( ! empty( $aioseop_options['aiosp_no_paged_canonical_links'] ) ) { $show_page = false; } if ( $aioseop_options['aiosp_can'] ) { if ( ! empty( $aioseop_options['aiosp_customize_canonical_links'] ) && ! empty( $opts['aiosp_custom_link'] ) ) { $fb_url_temp = $opts['aiosp_custom_link']; } if ( empty( $url ) ) { $fb_url_temp = $aiosp->aiosp_mrt_get_url( $wp_query, $show_page ); } $fb_url_temp = $aiosp->validate_url_scheme( $fb_url_temp ); $fb_url_temp = apply_filters( 'aioseop_canonical_url', $fb_url_temp ); } var_dump($fb_url_temp); $fb_url = wp_strip_all_tags( trim($fb_url_temp)!='' ? trim($fb_url_temp) : $fb_url, true);*/ //Description - Why are we getting the first post description on archives and homepage...?!? if (is_home() && !is_front_page()) { $post = aiosp_common::get_blog_page(); } else { $post = $aiosp->get_queried_object(); } $fb_desc_temp = apply_filters('aioseop_description', $aiosp->get_main_description($post)); $fb_desc = wp_strip_all_tags(trim($fb_desc_temp) != '' ? trim($fb_desc_temp) : $fb_desc, true); } } //Apply Filters $fb_locale = apply_filters('fb_og_locale', $fb_locale); $fb_title = apply_filters('fb_og_title', $fb_title); $fb_url = apply_filters('fb_og_url', $fb_url); $fb_type = apply_filters('fb_og_type', $fb_type); $fb_desc = apply_filters('fb_og_desc', $fb_desc); $fb_image = apply_filters('fb_og_image', $fb_image); $fb_image_additional = apply_filters('fb_og_image_additional', $fb_image_additional); //Image size $fb_image_size = false; if (intval($this->options['fb_image_show']) == 1 && trim($fb_image) != '') { if (intval($this->options['fb_image_size_show']) == 1) { if (isset($this->image_size) && is_array($this->image_size)) { //Already fetched $fb_image_size = $this->image_size; } else { $fb_image_size = $this->get_open_graph_image_size($fb_image); } } } else { $this->options['fb_image_show'] = 0; } //Image overlay - Single? if (intval($this->options['fb_image_show']) == 1 && intval($this->options['fb_image_overlay']) == 1 && apply_filters('fb_og_image_overlay', true, $fb_image)) { //Single $temp_fb_image_overlay = $this->get_image_with_overlay($fb_image); if ($temp_fb_image_overlay['overlay']) { $fb_image = $temp_fb_image_overlay['fb_image']; //We know the exact size now. We better just show it, right? $this->options['fb_image_size_show'] = 1; $fb_image_size = array(WEBDADOS_FB_W, WEBDADOS_FB_H); } //Additional if (isset($fb_image_additional) && is_array($fb_image_additional) && count($fb_image_additional) > 0) { foreach ($fb_image_additional as $key => $value) { if ($value['png_overlay']) { $temp_fb_image_overlay = $this->get_image_with_overlay($value['fb_image']); if ($temp_fb_image_overlay['overlay']) { $fb_image_additional[$key]['fb_image'] = $temp_fb_image_overlay['fb_image']; } } } } } //No spaces on URLs if (isset($fb_url) && trim($fb_url) != '') { $fb_url = str_replace(' ', '%20', trim($fb_url)); } if (isset($fb_publisher) && trim($fb_publisher) != '') { $fb_publisher = str_replace(' ', '%20', trim($fb_publisher)); } if (isset($fb_publisher_schema) && trim($fb_publisher_schema) != '') { $fb_publisher_schema = str_replace(' ', '%20', trim($fb_publisher_schema)); } if (isset($fb_author) && trim($fb_author) != '') { $fb_author = str_replace(' ', '%20', trim($fb_author)); } if (isset($fb_author_linkrelgp) && trim($fb_author_linkrelgp) != '') { $fb_author_linkrelgp = str_replace(' ', '%20', trim($fb_author_linkrelgp)); } if (isset($fb_image) && trim($fb_image) != '') { $fb_image = str_replace(' ', '%20', trim($fb_image)); } if (isset($fb_image_additional) && is_array($fb_image_additional) && count($fb_image_additional)) { foreach ($fb_image_additional as $key => $value) { $fb_image_additional[$key]['fb_image'] = str_replace(' ', '%20', trim($value['fb_image'])); } } //If there's still no description let's just add the title as a last resort if (trim($fb_desc) == '') { $fb_desc = $fb_title; } //Print tags // Facebook $html .= ' <!-- Facebook Open Graph --> '; //Locale if (intval($this->options['fb_locale_show']) == 1) { $html .= ' <meta property="og:locale" content="' . trim(esc_attr(trim($this->options['fb_locale']) != '' ? trim($this->options['fb_locale']) : trim(get_locale()))) . '"/> '; } //Site name if (intval($this->options['fb_sitename_show']) == 1) { $html .= ' <meta property="og:site_name" content="' . trim(esc_attr(get_bloginfo('name'))) . '"/> '; } //Title if (intval($this->options['fb_title_show']) == 1 && trim($fb_title) != '') { $html .= ' <meta property="og:title" content="' . trim(esc_attr($fb_title)) . '"/> '; } //URL if (intval($this->options['fb_url_show']) == 1 && trim($fb_url) != '') { $html .= ' <meta property="og:url" content="' . trim(esc_attr($fb_url)) . '"/> '; } //Type if (intval($this->options['fb_type_show']) == 1 && trim($fb_type) != '') { $html .= ' <meta property="og:type" content="' . trim(esc_attr($fb_type)) . '"/> '; } //Description if (intval($this->options['fb_desc_show']) == 1 && trim($fb_desc) != '') { $html .= ' <meta property="og:description" content="' . trim(esc_attr($fb_desc)) . '"/> '; } //Image if (intval($this->options['fb_image_show']) == 1 && trim($fb_image) != '') { $html .= ' <meta property="og:image" content="' . trim(esc_attr($fb_image)) . '"/> '; } //Additional Images if (intval($this->options['fb_image_show']) == 1 && isset($fb_image_additional) && is_array($fb_image_additional) && count($fb_image_additional) > 0) { foreach ($fb_image_additional as $fb_image_additional_temp) { $html .= ' <meta property="og:image" content="' . trim(esc_attr($fb_image_additional_temp['fb_image'])) . '"/> '; } } else { //Image Size - We only show the image size if we only have one image if (intval($this->options['fb_image_size_show']) == 1 && isset($fb_image_size) && is_array($fb_image_size)) { $html .= ' <meta property="og:image:width" content="' . intval(esc_attr($fb_image_size[0])) . '"/> <meta property="og:image:height" content="' . intval(esc_attr($fb_image_size[1])) . '"/> '; } } //Dates if (intval($this->options['fb_article_dates_show']) == 1 && trim($fb_article_pub_date) != '') { $html .= ' <meta property="article:published_time" content="' . trim(esc_attr($fb_article_pub_date)) . '"/> '; } if (intval($this->options['fb_article_dates_show']) == 1 && trim($fb_article_mod_date) != '') { $html .= ' <meta property="article:modified_time" content="' . trim(esc_attr($fb_article_mod_date)) . '" /> <meta property="og:updated_time" content="' . trim(esc_attr($fb_article_mod_date)) . '" /> '; } //Sections if (intval($this->options['fb_article_sections_show']) == 1 && isset($fb_sections) && is_array($fb_sections) && count($fb_sections) > 0) { foreach ($fb_sections as $fb_section) { $html .= ' <meta property="article:section" content="' . trim(esc_attr($fb_section)) . '"/> '; } } //Author if (intval($this->options['fb_author_show']) == 1 && $fb_author != '') { $html .= ' <meta property="article:author" content="' . trim(esc_attr($fb_author)) . '"/> '; } //Publisher if (intval($this->options['fb_publisher_show']) == 1 && trim($fb_publisher) != '') { $html .= ' <meta property="article:publisher" content="' . trim(esc_attr($fb_publisher)) . '"/> '; } //App ID if (intval($this->options['fb_app_id_show']) == 1 && trim($this->options['fb_app_id']) != '') { $html .= ' <meta property="fb:app_id" content="' . trim(esc_attr($this->options['fb_app_id'])) . '"/> '; } //Admins if (intval($this->options['fb_admin_id_show']) == 1 && trim($this->options['fb_admin_id']) != '') { $html .= ' <meta property="fb:admins" content="' . trim(esc_attr($this->options['fb_admin_id'])) . '"/> '; } // Schema $html .= ' <!-- Google+ / Schema.org --> '; //Title if (intval($this->options['fb_title_show_schema']) == 1 && trim($fb_title) != '') { $html .= ' <meta itemprop="name" content="' . trim(esc_attr($fb_title)) . '"/> '; } //Description if (intval($this->options['fb_desc_show_schema']) == 1 && trim($fb_desc) != '') { $html .= ' <meta itemprop="description" content="' . trim(esc_attr($fb_desc)) . '"/> '; } //Image if (intval($this->options['fb_image_show_schema']) == 1 && trim($fb_image) != '') { $html .= ' <meta itemprop="image" content="' . trim(esc_attr($fb_image)) . '"/> '; } //Author if (intval($this->options['fb_author_show_linkrelgp']) == 1 && trim($fb_author_linkrelgp) != '') { $html .= ' <link rel="author" href="' . trim(esc_attr($fb_author_linkrelgp)) . '"/> '; } //Publisher if (intval($this->options['fb_publisher_show_schema']) == 1 && trim($fb_publisher_schema) != '') { $html .= ' <link rel="publisher" href="' . trim(esc_attr($fb_publisher_schema)) . '"/> '; } // Twitter $html .= ' <!-- Twitter Cards --> '; //Title if (intval($this->options['fb_title_show_twitter']) == 1 && trim($fb_title) != '') { $html .= ' <meta name="twitter:title" content="' . trim(esc_attr($fb_title)) . '"/> '; } //URL if (intval($this->options['fb_url_show_twitter']) == 1 && trim($fb_url) != '') { $html .= ' <meta name="twitter:url" content="' . trim(esc_attr($fb_url)) . '"/> '; } //Description if (intval($this->options['fb_desc_show_twitter']) == 1 && trim($fb_desc) != '') { $html .= ' <meta name="twitter:description" content="' . trim(esc_attr($fb_desc)) . '"/> '; } //Image if (intval($this->options['fb_image_show_twitter']) == 1 && trim($fb_image) != '') { $html .= ' <meta name="twitter:image" content="' . trim(esc_attr($fb_image)) . '"/> '; } //Twitter Card if (intval($this->options['fb_title_show_twitter']) == 1 || intval($this->options['fb_url_show_twitter']) == 1 || intval($this->options['fb_desc_show_twitter']) == 1 || intval($this->options['fb_publisher_show_twitter']) == 1 || intval($this->options['fb_image_show_twitter']) == 1) { $html .= ' <meta name="twitter:card" content="' . trim(esc_attr($this->options['fb_twitter_card_type'])) . '"/> '; } //Author if (intval($this->options['fb_author_show_twitter']) == 1 && trim($fb_author_twitter) != '') { $html .= ' <meta name="twitter:creator" content="@' . trim(esc_attr($fb_author_twitter)) . '"/> '; } //Publisher if (intval($this->options['fb_publisher_show_twitter']) == 1 && trim($fb_publisher_twitteruser) != '') { $html .= ' <meta name="twitter:site" content="@' . trim(esc_attr($fb_publisher_twitteruser)) . '"/> '; } // SEO $html .= ' <!-- SEO --> '; //Title if (intval($fb_set_title_tag) == 1 && trim($fb_title) != '') { //Does nothing so far. We try to create the <title> tag but it's too late now //We should use wp_title(), but do we want to? This is only because Business Directory Plugin and they seem to have it covered by now... } //URL if (intval($this->options['fb_url_canonical']) == 1) { $html .= ' <link rel="canonical" href="' . trim(esc_attr($fb_url)) . '"/> '; } //Description if (intval($this->options['fb_desc_show_meta']) == 1 && trim($fb_desc) != '') { $html .= ' <meta name="description" content="' . trim(esc_attr($fb_desc)) . '"/> '; } //Author if (intval($this->options['fb_author_show_meta']) == 1 && $fb_author_meta != '') { $html .= ' <meta name="author" content="' . trim(esc_attr($fb_author_meta)) . '"/> '; } //Publisher if (intval($this->options['fb_publisher_show_meta']) == 1) { $html .= ' <meta name="publisher" content="' . trim(esc_attr(get_bloginfo('name'))) . '"/> '; } // SEO $html .= ' <!-- Misc. tags --> '; foreach ($fb_additional_tags as $type => $tags) { foreach ($tags as $tag => $values) { foreach ($values as $value) { $html .= ' <meta ' . $type . '="' . str_replace('_', ':', trim($tag)) . '" content="' . trim(esc_attr($value)) . '"/> '; } } } //Close tag $html .= '<!-- END - ' . WEBDADOS_FB_PLUGIN_NAME . ' ' . WEBDADOS_FB_VERSION . ' --> '; echo $html; }
function handle_actions() { if (!isset($_REQUEST['wpbdmaction']) || !isset($_REQUEST['post'])) { return; } $action = $_REQUEST['wpbdmaction']; $posts = is_array($_REQUEST['post']) ? $_REQUEST['post'] : array($_REQUEST['post']); $listings_api = wpbdp_listings_api(); $upgrades_api = wpbdp_listing_upgrades_api(); if (!current_user_can('administrator')) { exit; } switch ($action) { case 'publish': foreach ($posts as $post_id) { wp_update_post(array('ID' => $post_id, 'post_status' => 'publish')); } $this->messages[] = _nx('The listing has been published.', 'The listings have been published.', count($posts), 'admin', 'WPBDM'); break; case 'setaspaid': foreach ($posts as $post_id) { $listing = WPBDP_Listing::get($post_id); $listing->mark_as_paid(); } $this->messages[] = _nx('The listing status has been set as paid.', 'The listings status has been set as paid.', count($posts), 'admin', 'WPBDM'); break; case 'changesticky': foreach ($posts as $post_id) { $upgrades_api->set_sticky($post_id, wpbdp_getv($_GET, 'u')); } $this->messages[] = _nx('The listing has been modified.', 'The listings have been modified.', count($posts), 'admin', 'WPBDM'); break; case 'upgradefeatured': foreach ($posts as $post_id) { $upgrades_api->set_sticky($post_id, 'sticky', true); } $this->messages[] = _nx('The listing has been upgraded.', 'The listings have been upgraded.', count($posts), 'admin', 'WPBDM'); break; case 'cancelfeatured': foreach ($posts as $post_id) { $upgrades_api->set_sticky($post_id, 'normal'); } $this->messages[] = _nx('The listing has been downgraded.', 'The listings have been downgraded.', count($posts), 'admin', 'WPBDM'); break; case 'approvetransaction': $transaction = WPBDP_Payment::get($_GET['transaction_id']); $transaction->set_status(WPBDP_Payment::STATUS_COMPLETED, 'admin'); $transaction->save(); $this->messages[] = _x('The transaction has been approved.', 'admin', 'WPBDM'); break; case 'rejecttransaction': $transaction = WPBDP_Payment::get($_GET['transaction_id']); $transaction->set_status(WPBDP_Payment::STATUS_REJECTED, 'admin'); $transaction->save(); $this->messages[] = _x('The transaction has been rejected.', 'admin', 'WPBDM'); break; case 'assignfee': $listing = WPBDP_Listing::get($posts[0]); $listing->add_category($_GET['category_id'], $_GET['fee_id']); $this->messages[] = _x('The fee was successfully assigned.', 'admin', 'WPBDM'); break; case 'renewlisting': foreach ($posts as $post_id) { $listings_api->auto_renew($post_id); } $this->messages[] = _nx('Listing was renewed.', 'Listings were renewed.', count($posts), 'admin', 'WPBDM'); break; case 'send-renewal-email': $renewal_id = intval($_GET['renewal_id']); if ($listings_api->send_renewal_email($renewal_id)) { $this->messages[] = _x('Renewal email sent.', 'admin', 'WPBDM'); } break; default: do_action('wpbdp_admin_directory_handle_action', $action); break; } $_SERVER['REQUEST_URI'] = remove_query_arg(array('wpbdmaction', 'wpbdmfilter', 'transaction_id', 'category_id', 'fee_id', 'u', 'renewal_id'), $_SERVER['REQUEST_URI']); }
private function extract_data($post_id) { $post = get_post($post_id); if (!$post || $post->post_type != WPBDP_POST_TYPE) { return false; } $listings_api = wpbdp_listings_api(); $upgrades_api = wpbdp_listing_upgrades_api(); $data = array(); foreach ($this->columns as $colname => &$col) { $association = is_object($col) ? $col->get_association() : $col; $value = ''; switch ($association) { case 'sequence_id': $value = $listings_api->calculate_sequence_id($post->ID); break; /* Special columns. */ /* Special columns. */ case 'images': $upload_dir = wp_upload_dir(); $listing_images = array(); if ($images = $listings_api->get_images($post->ID)) { foreach ($images as &$img) { $img_metadata = wp_get_attachment_metadata($img->ID); if (!isset($img_metadata['file'])) { continue; } $img_path = realpath($upload_dir['basedir'] . DIRECTORY_SEPARATOR . $img_metadata['file']); if (!is_readable($img_path)) { continue; } $this->images_archive = !isset($this->images_archive) ? new PclZip($this->workingdir . 'images.zip') : $this->images_archive; if ($res = $this->images_archive->add($img_path, PCLZIP_OPT_REMOVE_ALL_PATH)) { $listing_images[] = basename($img_path); } } } if ($listing_images) { $value = implode($this->settings['images-separator'], $listing_images); } break; case 'username': $value = get_the_author_meta('user_login', $post->post_author); break; case 'featured_level': $listing_level = $upgrades_api->get_listing_level($post->ID); $value = $listing_level->id; break; case 'expires_on': $terms = wp_get_post_terms($post->ID, WPBDP_CATEGORY_TAX, 'fields=ids'); $expiration_dates = array(); foreach ($terms as $term_id) { if ($fee = $listings_api->get_listing_fee_for_category($post->ID, $term_id)) { $expiration_dates[] = $fee->expires_on; } else { $expiration_dates[] = ''; } } $value = implode('/', $expiration_dates); break; /* Standard associations. */ /* Standard associations. */ case 'category': case 'tags': $terms = wp_get_post_terms($post->ID, $col->get_association() == 'tags' ? WPBDP_TAGS_TAX : WPBDP_CATEGORY_TAX, 'fields=names'); if ($terms) { $value = implode($this->settings['category-separator'], $terms); } break; case 'meta': default: $value = $col->csv_value($post->ID); break; } if (!is_string($value)) { if (is_array($value)) { $value = ''; } else { $value = strval($value); } } $data[$colname] = '"' . str_replace('"', '""', $value) . '"'; } return $data; }