コード例 #1
0
/**
 * Returns listing nav menu Items.
 *
 * When WP Admin ->
 *      Geodirectory ->
 *      Design ->
 *      Navigation ->
 *      Show add listing navigation in menu and/or Show listings navigation in menu
 * checked this function returns listing and add listing links.
 *
 * @since 1.0.0
 * @package GeoDirectory
 * @return string The Menu HTML.
 */
function geodir_add_nav_menu_items()
{
    $items = '';
    // apply filter to add more navigations // -Filter-Location-Manager
    if (get_option('geodir_show_listing_nav')) {
        $menu_class = '';
        if (geodir_is_page('listing')) {
            $menu_class = 'current-menu-item';
        }
        //SHOW LISTING OF POST TYPE IN MAIN NAVIGATION
        $post_types = geodir_get_posttypes('object');
        $show_post_type_main_nav = get_option('geodir_add_posttype_in_main_nav');
        if (!empty($post_types)) {
            foreach ($post_types as $post_type => $args) {
                if (!empty($show_post_type_main_nav)) {
                    if (in_array($post_type, $show_post_type_main_nav)) {
                        if (get_post_type_archive_link($post_type)) {
                            $menu_class = '';
                            if (geodir_get_current_posttype() == $post_type && geodir_is_page('listing')) {
                                $menu_class = 'current-menu-item';
                            }
                            /**
                             * Filter the menu li class.
                             *
                             * @since 1.0.0
                             * @param string $menu_class The menu HTML class.
                             */
                            $li_class = apply_filters('geodir_menu_li_class', 'menu-item ' . $menu_class);
                            /**
                             * Filter the menu a class.
                             *
                             * @since 1.0.0
                             */
                            $a_class = apply_filters('geodir_menu_a_class', '');
                            $items .= '<li class="' . $li_class . '">
									<a href="' . get_post_type_archive_link($post_type) . '" class="' . $a_class . '">
										' . __(ucfirst($args->labels->name)) . '
									</a>
								</li>';
                        }
                    }
                }
            }
        }
        //END LISTING OF POST TYPE IN MAIN NAVIGATION
        $view_posttype_listing = get_option('geodir_add_posttype_in_listing_nav');
        $is_listing_sub_meny_exists = !empty($view_posttype_listing) ? true : false;
        if ($is_listing_sub_meny_exists) {
            /**
             * Filter the menu li class.
             *
             * @since 1.0.0
             * @param string $menu_class The menu HTML class.
             */
            $li_class = apply_filters('geodir_menu_li_class', 'menu-item menu-item-has-children menu-gd-listings ' . $menu_class);
            /**
             * Filter the sub menu li class.
             *
             * @since 1.0.0
             * @param string $menu_class The menu HTML class.
             */
            $sub_li_class = apply_filters('geodir_sub_menu_li_class', 'menu-item ' . $menu_class);
            /**
             * Filter the sub menu ul class.
             *
             * @since 1.0.0
             */
            $sub_ul_class = apply_filters('geodir_sub_menu_ul_class', 'sub-menu');
            /**
             * Filter the menu a class.
             *
             * @since 1.0.0
             */
            $a_class = apply_filters('geodir_menu_a_class', '');
            /**
             * Filter the sub menu a class.
             *
             * @since 1.0.0
             */
            $sub_a_class = apply_filters('geodir_sub_menu_a_class', '');
            $items .= '<li class="' . $li_class . '">
					<a href="#" class="' . $a_class . '">' . __('Listing', 'geodirectory') . '</a>
					<ul class="' . $sub_ul_class . '">';
            $post_types = geodir_get_posttypes('object');
            $show_listing_post_types = get_option('geodir_add_posttype_in_listing_nav');
            if (!empty($post_types)) {
                global $geodir_add_location_url;
                $geodir_add_location_url = true;
                foreach ($post_types as $post_type => $args) {
                    if (!empty($show_listing_post_types)) {
                        if (in_array($post_type, $show_listing_post_types)) {
                            if (get_post_type_archive_link($post_type)) {
                                $menu_class = '';
                                if (geodir_get_current_posttype() == $post_type && geodir_is_page('listing')) {
                                    $menu_class = 'current-menu-item';
                                }
                                $items .= '<li class="' . $sub_li_class . '">
														<a href="' . get_post_type_archive_link($post_type) . '" class="' . $sub_a_class . '">
															' . __(ucfirst($args->labels->name)) . '
														</a>
													</li>';
                            }
                        }
                    }
                }
                $geodir_add_location_url = NULL;
            }
            $items .= '	</ul>
				</li>';
        }
    }
    if (get_option('geodir_show_addlisting_nav')) {
        $menu_class = '';
        if (geodir_is_page('add-listing')) {
            $menu_class = 'current-menu-item';
        }
        //SHOW ADD LISTING POST TYPE IN MAIN NAVIGATION
        $post_types = geodir_get_posttypes('object');
        $show_add_listing_post_types_main_nav = get_option('geodir_add_listing_link_main_nav');
        $geodir_allow_posttype_frontend = get_option('geodir_allow_posttype_frontend');
        if (!empty($post_types)) {
            foreach ($post_types as $post_type => $args) {
                if (!empty($geodir_allow_posttype_frontend)) {
                    if (in_array($post_type, $geodir_allow_posttype_frontend)) {
                        if (!empty($show_add_listing_post_types_main_nav)) {
                            if (in_array($post_type, $show_add_listing_post_types_main_nav)) {
                                if (geodir_get_addlisting_link($post_type)) {
                                    $menu_class = '';
                                    if (geodir_get_current_posttype() == $post_type && geodir_is_page('add-listing')) {
                                        $menu_class = 'current-menu-item';
                                    }
                                    /**
                                     * Filter the menu li class.
                                     *
                                     * @since 1.0.0
                                     * @param string $menu_class The menu HTML class.
                                     */
                                    $li_class = apply_filters('geodir_menu_li_class', 'menu-item ' . $menu_class);
                                    /**
                                     * Filter the menu a class.
                                     *
                                     * @since 1.0.0
                                     */
                                    $a_class = apply_filters('geodir_menu_a_class', '');
                                    $cpt_name = __($args->labels->singular_name, 'geodirectory');
                                    $items .= '<li class="' . $li_class . '">
											<a href="' . geodir_get_addlisting_link($post_type) . '" class="' . $a_class . '">
												' . sprintf(__('Add %s', 'geodirectory'), $cpt_name) . '
											</a>
										</li>';
                                }
                            }
                        }
                    }
                }
            }
        }
        //END SHOW ADD LISTING POST TYPE IN MAIN NAVIGATION
    }
    $view_add_posttype_listing = get_option('geodir_add_listing_link_add_listing_nav');
    $is_add_listing_sub_meny_exists = !empty($view_add_posttype_listing) ? true : false;
    if ($is_add_listing_sub_meny_exists) {
        if (get_option('geodir_show_addlisting_nav')) {
            /**
             * Filter the menu li class.
             *
             * @since 1.0.0
             * @param string $menu_class The menu HTML class.
             */
            $li_class = apply_filters('geodir_menu_li_class', 'menu-item menu-item-has-children menu-gd-add-listing ' . $menu_class);
            /**
             * Filter the sub menu li class.
             *
             * @since 1.0.0
             * @param string $menu_class The menu HTML class.
             */
            $sub_li_class = apply_filters('geodir_sub_menu_li_class', 'menu-item ' . $menu_class);
            /**
             * Filter the sub menu ul class.
             *
             * @since 1.0.0
             */
            $sub_ul_class = apply_filters('geodir_sub_menu_ul_class', 'sub-menu');
            /**
             * Filter the menu a class.
             *
             * @since 1.0.0
             */
            $a_class = apply_filters('geodir_menu_a_class', '');
            /**
             * Filter the sub menu a class.
             *
             * @since 1.0.0
             */
            $sub_a_class = apply_filters('geodir_sub_menu_a_class', '');
            $items .= '<li  class="' . $li_class . '">
					<a href="#" class="' . $a_class . '">' . __('Add Listing', 'geodirectory') . '</a>
					<ul class="' . $sub_ul_class . '">';
            $post_types = geodir_get_posttypes('object');
            $show_add_listing_post_types = get_option('geodir_add_listing_link_add_listing_nav');
            if (!empty($post_types)) {
                foreach ($post_types as $post_type => $args) {
                    if (!empty($geodir_allow_posttype_frontend)) {
                        if (in_array($post_type, $geodir_allow_posttype_frontend)) {
                            if (!empty($show_add_listing_post_types)) {
                                if (in_array($post_type, $show_add_listing_post_types)) {
                                    if (geodir_get_addlisting_link($post_type)) {
                                        $menu_class = '';
                                        if (geodir_get_current_posttype() == $post_type && geodir_is_page('add-listing')) {
                                            $menu_class = 'current-menu-item';
                                        }
                                        /**
                                         * Filter the menu li class.
                                         *
                                         * @since 1.0.0
                                         * @param string $menu_class The menu HTML class.
                                         */
                                        $li_class = apply_filters('geodir_menu_li_class', 'menu-item ' . $menu_class);
                                        $cpt_name = __($args->labels->singular_name, 'geodirectory');
                                        $items .= '<li class="' . $li_class . '">
														<a href="' . geodir_get_addlisting_link($post_type) . '" class="' . $sub_a_class . '">
															' . sprintf(__('Add %s', 'geodirectory'), $cpt_name) . '
														</a>
													</li>';
                                    }
                                }
                            }
                        }
                    }
                }
            }
            $items .= '	</ul>
				</li>';
        }
    }
    // apply filter to add more navigations // -Filter-Location-Manager
    return $items;
}
コード例 #2
0
ファイル: general_functions.php プロジェクト: bangjojo/wp
/**
 * Generates login box HTML.
 *
 * @since 1.0.0
 * @package GeoDirectory
 * @global object $current_user Current user object.
 * @param array|string $args Display arguments including before_title, after_title, before_widget, and after_widget.
 * @param array|string $instance The settings for the particular instance of the widget.
 */
function geodir_loginwidget_output($args = '', $instance = '')
{
    //print_r($args);
    //print_r($instance);
    // prints the widget
    extract($args, EXTR_SKIP);
    /** This filter is documented in geodirectory_widgets.php */
    $title = empty($instance['title']) ? __('My Dashboard', 'geodirectory') : apply_filters('widget_title', __($instance['title'], 'geodirectory'));
    echo $before_widget;
    echo $before_title . $title . $after_title;
    if (is_user_logged_in()) {
        global $current_user;
        $login_url = geodir_getlink(home_url(), array('geodir_signup' => 'true'), false);
        $add_listurl = get_permalink(geodir_add_listing_page_id());
        $add_listurl = geodir_getlink($add_listurl, array('listing_type' => 'gd_place'));
        $author_link = get_author_posts_url($current_user->data->ID);
        $author_link = geodir_getlink($author_link, array('geodir_dashbord' => 'true'), false);
        echo '<ul class="geodir-loginbox-list">';
        ob_start();
        ?>
        <li><a class="signin"
               href="<?php 
        echo wp_logout_url(home_url());
        ?>
"><?php 
        _e('Logout', 'geodirectory');
        ?>
</a></li>
        <?php 
        $post_types = geodir_get_posttypes('object');
        $show_add_listing_post_types_main_nav = get_option('geodir_add_listing_link_user_dashboard');
        $geodir_allow_posttype_frontend = get_option('geodir_allow_posttype_frontend');
        if (!empty($show_add_listing_post_types_main_nav)) {
            $addlisting_links = '';
            foreach ($post_types as $key => $postobj) {
                if (in_array($key, $show_add_listing_post_types_main_nav)) {
                    if ($add_link = geodir_get_addlisting_link($key)) {
                        $name = $postobj->labels->name;
                        $selected = '';
                        if (geodir_get_current_posttype() == $key && geodir_is_page('add-listing')) {
                            $selected = 'selected="selected"';
                        }
                        /**
                         * Filter add listing link.
                         *
                         * @since 1.0.0
                         * @param string $add_link Add listing link.
                         * @param string $key Add listing array key.
                         * @param int $current_user->ID Current user ID.
                         */
                        $add_link = apply_filters('geodir_dashboard_link_add_listing', $add_link, $key, $current_user->ID);
                        $addlisting_links .= '<option ' . $selected . ' value="' . $add_link . '">' . __(ucfirst($name), 'geodirectory') . '</option>';
                    }
                }
            }
            if ($addlisting_links != '') {
                ?>

                <li><select id="geodir_add_listing" class="chosen_select" onchange="window.location.href=this.value"
                            option-autoredirect="1" name="geodir_add_listing" option-ajaxchosen="false"
                            data-placeholder="<?php 
                echo esc_attr(__('Add Listing', 'geodirectory'));
                ?>
">
                        <option value="" disabled="disabled" selected="selected" style='display:none;'><?php 
                echo esc_attr(__('Add Listing', 'geodirectory'));
                ?>
</option>
                        <?php 
                echo $addlisting_links;
                ?>
                    </select></li> <?php 
            }
        }
        // My Favourites in Dashboard
        $show_favorite_link_user_dashboard = get_option('geodir_favorite_link_user_dashboard');
        $user_favourite = geodir_user_favourite_listing_count();
        if (!empty($show_favorite_link_user_dashboard) && !empty($user_favourite)) {
            $favourite_links = '';
            foreach ($post_types as $key => $postobj) {
                if (in_array($key, $show_favorite_link_user_dashboard) && array_key_exists($key, $user_favourite)) {
                    $name = $postobj->labels->name;
                    $post_type_link = geodir_getlink($author_link, array('stype' => $key, 'list' => 'favourite'), false);
                    $selected = '';
                    if (isset($_REQUEST['list']) && $_REQUEST['list'] == 'favourite' && isset($_REQUEST['stype']) && $_REQUEST['stype'] == $key && isset($_REQUEST['geodir_dashbord'])) {
                        $selected = 'selected="selected"';
                    }
                    /**
                     * Filter favorite listing link.
                     *
                     * @since 1.0.0
                     * @param string $post_type_link Favorite listing link.
                     * @param string $key Favorite listing array key.
                     * @param int $current_user->ID Current user ID.
                     */
                    $post_type_link = apply_filters('geodir_dashboard_link_favorite_listing', $post_type_link, $key, $current_user->ID);
                    $favourite_links .= '<option ' . $selected . ' value="' . $post_type_link . '">' . __(ucfirst($name), 'geodirectory') . '</option>';
                }
            }
            if ($favourite_links != '') {
                ?>
                <li>
                    <select id="geodir_my_favourites" class="chosen_select" onchange="window.location.href=this.value"
                            option-autoredirect="1" name="geodir_my_favourites" option-ajaxchosen="false"
                            data-placeholder="<?php 
                echo esc_attr(__('My Favorites', 'geodirectory'));
                ?>
">
                        <option value="" disabled="disabled" selected="selected" style='display:none;'><?php 
                echo esc_attr(__('My Favorites', 'geodirectory'));
                ?>
</option>
                        <?php 
                echo $favourite_links;
                ?>
                    </select>
                </li>
            <?php 
            }
        }
        $show_listing_link_user_dashboard = get_option('geodir_listing_link_user_dashboard');
        $user_listing = geodir_user_post_listing_count();
        if (!empty($show_listing_link_user_dashboard) && !empty($user_listing)) {
            $listing_links = '';
            foreach ($post_types as $key => $postobj) {
                if (in_array($key, $show_listing_link_user_dashboard) && array_key_exists($key, $user_listing)) {
                    $name = $postobj->labels->name;
                    $listing_link = geodir_getlink($author_link, array('stype' => $key), false);
                    $selected = '';
                    if (!isset($_REQUEST['list']) && isset($_REQUEST['geodir_dashbord']) && isset($_REQUEST['stype']) && $_REQUEST['stype'] == $key) {
                        $selected = 'selected="selected"';
                    }
                    /**
                     * Filter my listing link.
                     *
                     * @since 1.0.0
                     * @param string $listing_link My listing link.
                     * @param string $key My listing array key.
                     * @param int $current_user->ID Current user ID.
                     */
                    $listing_link = apply_filters('geodir_dashboard_link_my_listing', $listing_link, $key, $current_user->ID);
                    $listing_links .= '<option ' . $selected . ' value="' . $listing_link . '">' . __(ucfirst($name), 'geodirectory') . '</option>';
                }
            }
            if ($listing_links != '') {
                ?>
                <li>
                    <select id="geodir_my_listings" class="chosen_select" onchange="window.location.href=this.value"
                            option-autoredirect="1" name="geodir_my_listings" option-ajaxchosen="false"
                            data-placeholder="<?php 
                echo esc_attr(__('My Listings', 'geodirectory'));
                ?>
">
                        <option value="" disabled="disabled" selected="selected" style='display:none;'><?php 
                echo esc_attr(__('My Listings', 'geodirectory'));
                ?>
</option>
                        <?php 
                echo $listing_links;
                ?>
                    </select>
                </li>
            <?php 
            }
        }
        $dashboard_link = ob_get_clean();
        /**
         * Filter dashboard links HTML.
         *
         * @since 1.0.0
         * @param string $dashboard_link Dashboard links HTML.
         */
        echo apply_filters('geodir_dashboard_links', $dashboard_link);
        echo '</ul>';
    } else {
        ?>
        <?php 
        /**
         * Filter signup form action link.
         *
         * @since 1.0.0
         */
        ?>
        <form name="loginform" class="loginform1"
              action="<?php 
        echo apply_filters('geodir_signup_reg_submit_link', home_url() . '/index.php?geodir_signup=true');
        ?>
"
              method="post">
            <div class="geodir_form_row"><input placeholder="<?php 
        _e('Email', 'geodirectory');
        ?>
" name="log"
                                                type="text" class="textfield user_login1"/> <span
                    class="user_loginInfo"></span></div>
            <div class="geodir_form_row"><input placeholder="<?php 
        _e('Password', 'geodirectory');
        ?>
"
                                                name="pwd" type="password"
                                                class="textfield user_pass1 input-text"/><span
                    class="user_passInfo"></span></div>

            <input type="hidden" name="redirect_to" value="<?php 
        echo htmlspecialchars(geodir_curPageURL());
        ?>
"/>
            <input type="hidden" name="testcookie" value="1"/>

            <div class="geodir_form_row clearfix"><input type="submit" name="submit"
                                                         value="<?php 
        echo SIGN_IN_BUTTON;
        ?>
" class="b_signin"/>

                <p class="geodir-new-forgot-link">
                    <?php 
        /**
         * Filter signup page register form link.
         *
         * @since 1.0.0
         */
        ?>
                    <a href="<?php 
        echo apply_filters('geodir_signup_reg_form_link', home_url() . '/?geodir_signup=true&amp;page1=sign_up');
        ?>
"
                       class="goedir-newuser-link"><?php 
        echo NEW_USER_TEXT;
        ?>
</a>

                    <?php 
        /**
         * Filter signup page forgot password form link.
         *
         * @since 1.0.0
         */
        ?>
                    <a href="<?php 
        echo apply_filters('geodir_signup_forgot_form_link', home_url() . '/?geodir_signup=true&amp;page1=sign_in');
        ?>
"
                       class="goedir-forgot-link"><?php 
        echo FORGOT_PW_TEXT;
        ?>
</a></p></div>
        </form>
    <?php 
    }
    echo $after_widget;
}