• Resolved geekpile

    (@geekpile)


    Having a weird issue. Setting up a new site with WP Job Manager and the custom fields for geodata are not created, nor the data populated.

    After doing some serious research to get this working, even if only slightly, the weird part is that if I hit the update button immediately (or any time) after the initial posting it creates the fields and populates them.

    No result in debug.log on initial posting. Currently have added a bit of code to functions.php in the theme as well as in class-wp-job-manager-geocode.php to display the resultant data from the Google Maps API call. On initial listing nothing is inserted into the log, but when I “update” the listing as expected the json result is appended.

    Any ideas why this data isn’t populating on initial listing?

    https://wordpress.org/plugins/wp-job-manager/

Viewing 13 replies - 1 through 13 (of 13 total)
  • Plugin Author Mike Jolley (a11n)

    (@mikejolley)

    Hello,

    Are you using any other geolocation related plugins on your site? I’d guess conflict since you said it works when you update the job manually which would mean it’s less likely that you’re hitting an API limit.

    If you’re a coder and want to debug this further, take a look at the update_location_data method in the WP_Job_Manager_Geocode class.

    https://github.com/mikejolley/WP-Job-Manager/blob/master/includes/class-wp-job-manager-geocode.php#L23

    Maybe you can var_dump, or mail yourself to see if this is being triggered on job post or not. That would be where I’d start if debugging myself.

    Good luck

    Thread Starter geekpile

    (@geekpile)

    Thanks for the quick reply!

    I don’t believe I’ve added any other geolocation plugins to the site, I’ve basically just installed the core premium add-ons pack for WP Job Manager as well as the Jobify theme. I’ve also attempted disabling all plugins aside from those required for WPJM to function.

    I’m not a coder necessarily, though I know enough to be a danger to myself. πŸ™‚ I’ve tried a few things related to the section starting at line 23 including commenting it out and replacing with the code beginning at line 35 since that seemed to be the piece that was working properly (and of course making sure to change the public function tags so it wasn’t called out twice.) This didn’t seem to make a difference.

    Not sure what you mean by var_dump or mailing myself. Thanks for your help!

    Thread Starter geekpile

    (@geekpile)

    What’s more interesting, if I comment out the code starting at line 35, the update function continues to work as normal…

    Plugin Author Mike Jolley (a11n)

    (@mikejolley)

    Maybe another plugin is taking over; what do you have installed?

    Thread Starter geekpile

    (@geekpile)

    BAW Login/Logout menu
    Column Shortcodes
    Hide Admin Bar From Non-admins
    Jetpack by WordPress.com
    Nav Menu Roles
    Ninja Forms
    Resize Image After Upload
    Responsive WordPress Slider – Soliloquy Lite
    SeedProd Coming Soon Pro
    Simple Custom CSS
    Testimonials
    Transients Manager
    Widget Importer & Exporter
    WooCommerce
    WordPress Importer
    WP Job Manager
    WP Job Manager – Application Deadline
    WP Job Manager – Applications
    WP Job Manager – Apply with LinkedIn
    WP Job Manager – Apply with XING
    WP Job Manager – Bookmarks
    WP Job Manager – Company Profiles
    WP Job Manager – Contact Listing
    WP Job Manager – Embeddable Job Widget
    WP Job Manager – Indeed Integration
    WP Job Manager – Job Alerts
    WP Job Manager – Job Tags
    WP Job Manager – Job Type Colors
    WP Job Manager – Predefined Regions
    WP Job Manager – Resume Manager
    WP Job Manager – Simple Paid Listings
    WP Job Manager – WooCommerce Paid Listings

    Thread Starter geekpile

    (@geekpile)

    Okay I’ve been able to reproduce this two different ways. Referencing another thread which has been a huge help: Huge issue with Geolocation

    Using the first method, modifying class-wp-job-manager-geocode.php line 123-132 to read:

    $result = wp_remote_get(
    					"https://maps.googleapis.com/maps/api/geocode/json?address=" . $raw_address . "&key=+++MyKeyHere+++&sensor=true",
    					array(
    						'timeout'     => 5,
    					    'redirection' => 1,
    					    'httpversion' => '1.1',
    					    'user-agent'  => 'WordPress/WP-Job-Manager-' . JOB_MANAGER_VERSION . '; ' . get_bloginfo( 'url' ),
    					    'sslverify'   => false,
    								    )
    				);

    That’s the first way I was able to produce the issue. The second way I produced it was using a slightly modified version of the code you posted a few posts down the thread. Note that without these modifications, nothing happened at all on initial listing or after pressing update. Added this to functions.php for the Jobify theme:

    function add_geolocation_key_to_endpoint( $endpoint ) {
    $endpoint = add_query_arg( 'key', 'YOURKEYHERE', $endpoint );
    return $endpoint;
    }
    Plugin Author Mike Jolley (a11n)

    (@mikejolley)

    Ok now I’m confused. You said it worked when manually saving a job, but not during posting. Both use the exact same code, so by adjusting the code you’re going to affect both geolocation functions. The above code changes are not necessary because you already confirmed its working in admin.

    Revert all changes. Then post with the Twenty Twelve theme active.

    My code has a filter in which themes and plugins can disable and replace the geolocation logic. By testing the above you can see if Jobify is affecting the geolocation during posting.

    Thread Starter geekpile

    (@geekpile)

    All changes reverted, Twenty Twelve theme activated – same result. Exact steps taken:

    1. Dashboard > Job Listings > Add New
    2. Fill in fields: Position, Body, Location, Company
    3. Click Publish > Custom fields not created, geodata not added
    4. Click Update > Custom fields now created, geodata added automagically

    Thread Starter geekpile

    (@geekpile)

    Spun up another clean install, same result here too using the Twenty Twelve theme and original un-modified code. I think WPJM hates me πŸ˜‰

    Thread Starter geekpile

    (@geekpile)

    Alright just did yet more testing and this is working just fine when orders are placed through the theme pages itself. Seems to only be affecting the admin portal job submissions.

    Very strange… but I guess the end result gets what I want ultimately. Thanks Mike for your time!

    Plugin Author Mike Jolley (a11n)

    (@mikejolley)

    Thread Starter geekpile

    (@geekpile)

    Excellent, this worked perfectly! Thanks Mike!!!

    Awesome Geekpile! It’d be awesome if you’d consider leaving a review too – https://wordpress.org/support/view/plugin-reviews/wp-job-manager#postform πŸ™‚

Viewing 13 replies - 1 through 13 (of 13 total)
  • The topic ‘Geolocation not populated on listing publish’ is closed to new replies.