/** * @since 3.3 */ function awpcp_do_placeholder_categories($listing, $placeholder) { $categories_ids = array_filter(array($listing->ad_category_id, $listing->ad_category_parent_id)); $categories = awpcp_categories_collection()->find(array('id' => $categories_ids)); $links = array('parent-category' => '', 'category' => ''); foreach ($categories as $category) { if ($listing->ad_category_parent_id == $category->id) { $category_type = 'parent-category'; } else { $category_type = 'category'; } $link = '<a href="<category-url>"><category-name></a>'; $link = str_replace('<category-url>', esc_attr(url_browsecategory($category), $link)); $link = str_replace('<category-name>', esc_html($category->name), $link); $links[$category_type] = $link; } $output = '<span class="awpcp-listing-categories"><categories></span>'; $output = str_replace('<categories>', implode(' / ', array_filter($links)), $output); return $output; }
protected function element($category, $depth, $args, $current_object_id) { $element = '[category-icon]<a class="[category-class]" href="[category-url]">[category-name]</a> [listings-count][js-handler]'; $element = str_replace('[category-icon]', $this->render_category_icon($category), $element); $element = str_replace('[category-class]', $depth == 0 ? 'toplevelitem' : '', $element); $element = str_replace('[category-url]', esc_attr(url_browsecategory($category)), $element); $element = str_replace('[category-name]', esc_attr($category->name), $element); $element = str_replace('[listings-count]', $this->render_listings_count($category), $element); $element = str_replace('[js-handler]', $this->render_js_handler($depth), $element); return $element; }
/** * @since 3.4 */ function awpcp_get_browse_category_url_from_id($category_id) { try { $category = awpcp_listings_collection()->get($category_id); $category_url = url_browsecategory($category); } catch (AWPCP_Exception $ex) { $category_url = ''; } return $category_url; }