0 ) { $link = get_permalink( $page_settings['category'] ); if( '' != get_option( 'permalink_structure' ) ) { $link = user_trailingslashit( trailingslashit( $link ) . $term->slug ); } else { $link = add_query_arg( 'acadp_category', $term->slug, $link ); } } return $link; } /** * Generate a permalink for a location page. * * @since 1.0.0 * * @param object $term The term object. * @return string Term link. */ function acadp_get_location_page_link( $term ) { $page_settings = get_option( 'acadp_page_settings' ); $link = '/'; if( $page_settings['location'] > 0 ) { $link = get_permalink( $page_settings['location'] ); if( '' != get_option( 'permalink_structure' ) ) { $link = user_trailingslashit( trailingslashit( $link ) . $term->slug ); } else { $link = add_query_arg( 'acadp_location', $term->slug, $link ); } } return $link; } /** * Generate a permalink for listings archive page. * * @since 1.5.4 * * @return string Listings Archive Page link. */ function acadp_get_listings_page_link() { $page_settings = get_option( 'acadp_page_settings' ); $link = '/'; if( $page_settings['listings'] > 0 ) { $link = get_permalink( $page_settings['listings'] ); } return $link; } /** * Generate a permalink for an user listings page. * * @since 1.0.0 * * @param int $user_id User ID. * @return string User Listings page URL. */ function acadp_get_user_page_link( $user_id ) { $page_settings = get_option( 'acadp_page_settings' ); $link = '/'; if( $page_settings['user_listings'] > 0 ) { $link = get_permalink( $page_settings['user_listings'] ); $user_slug = get_the_author_meta( 'user_nicename', $user_id ); if( '' != get_option( 'permalink_structure' ) ) { $link = user_trailingslashit( trailingslashit( $link ) . $user_slug ); } else { $link = add_query_arg( 'acadp_user', $user_slug, $link ); } } return $link; } /** * Generate a permalink for search results page. * * @since 1.0.0 * * @return string Favourites page URL. */ function acadp_get_search_action_page_link() { $link = home_url(); if( get_option('permalink_structure') ) { $page_settings = get_option( 'acadp_page_settings' ); if( $page_settings['search'] > 0 ) { $link = get_permalink( $page_settings['search'] ); } } return $link; } /** * Display user menu links. * * @since 1.0.0 */ function the_acadp_user_menu() { $page_settings = get_option( 'acadp_page_settings' ); $general_settings = get_option( 'acadp_general_settings' ); $links = array(); if( acadp_current_user_can('edit_acadp_listings') && $page_settings['listing_form'] > 0 ) { $links[] = ''.__( 'Add New Listing', 'advanced-classifieds-and-directory-pro' ).''; } if( acadp_current_user_can('edit_acadp_listings') && $page_settings['manage_listings'] > 0 ) { $links[] = ''.get_the_title( $page_settings['manage_listings'] ).''; } if( ! empty( $general_settings['has_favourites'] ) && $page_settings['favourite_listings'] > 0 ) { $links[] = ''.get_the_title( $page_settings['favourite_listings'] ).''; } if( acadp_current_user_can('edit_acadp_listings') && $page_settings['payment_history'] > 0 ) { $links[] = ''.get_the_title( $page_settings['payment_history'] ).''; } echo '

'.implode( ' | ', $links ).'

'; } /** * Generate a permalink for manage listings page. * * @since 1.0.0 * * @param bool $is_form_action True if the URL is for a form action, false if not. * @return string Manage listings page URL. */ function acadp_get_manage_listings_page_link( $is_form_action = false ) { $link = $is_form_action ? home_url() : ''; if( false == $is_form_action || get_option('permalink_structure') ) { $page_settings = get_option( 'acadp_page_settings' ); if( $page_settings['manage_listings'] > 0 ) { $link = get_permalink( $page_settings['manage_listings'] ); } } return $link; } /** * Generate a permalink for listing form page. * * @since 1.0.0 * * @return string Listing form page URL. */ function acadp_get_listing_form_page_link() { $page_settings = get_option( 'acadp_page_settings' ); $link = '/'; if( $page_settings['listing_form'] > 0 ) { $link = get_permalink( $page_settings['listing_form'] ); } return $link; } /** * Generate a permalink for listings edit page. * * @since 1.0.0 * * @param int $listing_id Listing ID. * @return string Listing edit page URL. */ function acadp_get_listing_edit_page_link( $listing_id ) { $page_settings = get_option( 'acadp_page_settings' ); $link = '/'; if( $page_settings['listing_form'] > 0 ) { $link = get_permalink( $page_settings['listing_form'] ); if( '' != get_option( 'permalink_structure' ) ) { $link = user_trailingslashit( trailingslashit( $link ) . 'edit/' . $listing_id ); } else { $link = add_query_arg( array( 'acadp_action' => 'edit', 'acadp_listing' => $listing_id ), $link ); } } return $link; } /** * Generate a permalink to delete a listing. * * @since 1.0.0 * * @param int $listing_id Listing ID. * @return string URL to delete listing. */ function acadp_get_listing_delete_page_link( $listing_id ) { $page_settings = get_option( 'acadp_page_settings' ); $link = '/'; if( $page_settings['listing_form'] > 0 ) { $link = get_permalink( $page_settings['listing_form'] ); if( '' != get_option( 'permalink_structure' ) ) { $link = user_trailingslashit( trailingslashit( $link ) . 'delete/' . $listing_id ); } else { $link = add_query_arg( array( 'acadp_action' => 'delete', 'acadp_listing' => $listing_id ), $link ); } } return $link; } /** * Generate a permalink for favourites page. * * @since 1.0.0 * * @return string Favourites page URL. */ function acadp_get_favourites_page_link() { $page_settings = get_option( 'acadp_page_settings' ); $link = '/'; if( $page_settings['favourite_listings'] > 0 ) { $link = get_permalink( $page_settings['favourite_listings'] ); } return $link; } /** * Display the favourites link. * * @since 1.0.0 * * @param int $post_id Post ID. */ function the_acadp_favourites_link( $post_id = 0 ) { if( is_user_logged_in() ) { if( $post_id == 0 ) { global $post; $post_id = $post->ID; } $favourites = (array) get_user_meta( get_current_user_id(), 'acadp_favourites', true ); if( in_array( $post_id, $favourites ) ) { echo ''.__( 'Remove from favourites', 'advanced-classifieds-and-directory-pro' ).''; } else { echo ''.__( 'Add to favourites', 'advanced-classifieds-and-directory-pro' ).''; } } else { echo ''.__( 'Add to favourites', 'advanced-classifieds-and-directory-pro' ).''; } } /** * Generate a permalink to remove from favourites. * * @since 1.0.0 * * @param int $listing_id Listing ID. * @return string URL to remove from favourites. */ function acadp_get_remove_favourites_page_link( $listing_id ) { $page_settings = get_option( 'acadp_page_settings' ); $link = '/'; if( $page_settings['favourite_listings'] > 0 ) { $link = get_permalink( $page_settings['favourite_listings'] ); if( '' != get_option( 'permalink_structure' ) ) { $link = user_trailingslashit( trailingslashit( $link ) . 'remove-favourites/' . $listing_id ); } else { $link = add_query_arg( array( 'acadp_action' => 'remove-favourites', 'acadp_listing' => $listing_id ), $link ); } } return $link; } /** * Generate a permalink for checkout page. * * @since 1.0.0 * * @param int $post_id Post ID. * @return string Payment checkout page URL. */ function acadp_get_checkout_page_link( $post_id ) { $page_settings = get_option( 'acadp_page_settings' ); $link = '/'; if( $page_settings['checkout'] > 0 ) { $link = get_permalink( $page_settings['checkout'] ); if( '' != get_option( 'permalink_structure' ) ) { $link = user_trailingslashit( trailingslashit( $link ) . $post_id ); } else { $link = add_query_arg( 'acadp_listing', $post_id, $link ); } } return $link; } /** * Generate a permalink for listings promote page. * * @since 1.0.0 * * @param int $listing_id Listing ID. * @return string Listing promote page URL. */ function acadp_get_listing_promote_page_link( $listing_id ) { $page_settings = get_option( 'acadp_page_settings' ); $link = '/'; if( $page_settings['checkout'] > 0 ) { $link = get_permalink( $page_settings['checkout'] ); if( '' != get_option( 'permalink_structure' ) ) { $link = user_trailingslashit( trailingslashit( $link ) . '/promote/' . $listing_id ); } else { $link = add_query_arg( array( 'acadp_action' => 'promote', 'acadp_listing' => $listing_id ), $link ); } } return $link; } /** * Generate a permalink for Payment receipt page. * * @since 1.0.0 * * @param int $order_id Order ID. * @return string Payment receipt page URL. */ function acadp_get_payment_receipt_page_link( $order_id ) { $page_settings = get_option( 'acadp_page_settings' ); $link = '/'; if( $page_settings['payment_receipt'] > 0 ) { $link = get_permalink( $page_settings['payment_receipt'] ); if( '' != get_option( 'permalink_structure' ) ) { $link = user_trailingslashit( trailingslashit( $link ) . $order_id ); } else { $link = add_query_arg( 'acadp_order', $order_id, $link ); } } return $link; } /** * Generate a permalink for Payment failure page. * * @since 1.0.0 * * @param int $order_id Order ID. * @return string Payment failure page URL. */ function acadp_get_failure_page_link( $order_id = 0 ) { $page_settings = get_option( 'acadp_page_settings' ); $link = '/'; if( $page_settings['payment_failure'] > 0 ) { $link = get_permalink( $page_settings['payment_failure'] ); if( $order_id > 0 ) { if( '' != get_option( 'permalink_structure' ) ) { $link = user_trailingslashit( trailingslashit( $link ) . $order_id ); } else { $link = add_query_arg( 'acadp_order', $order_id, $link ); } } } return $link; } /** * Generate a permalink for listings renewal page. * * @since 1.0.0 * * @param int $listing_id Listing ID. * @return string Listing renewal page URL. */ function acadp_get_listing_renewal_page_link( $listing_id ) { $page_settings = get_option( 'acadp_page_settings' ); $link = '/'; if( $page_settings['listing_form'] > 0 ) { $link = get_permalink( $page_settings['listing_form'] ); if( '' != get_option( 'permalink_structure' ) ) { $link = user_trailingslashit( trailingslashit( $link ) . '/renew/' . $listing_id ); } else { $link = add_query_arg( array( 'acadp_action' => 'renew', 'acadp_listing' => $listing_id ), $link ); } } return $link; }