I have a front-end editing form, where users can update specific post data (ACF custom fields). The problem is, that the users only know the post slug, not the ID.
So I need a page before, where I can convert the slug to post ID, then pass it as a url parameter, and redirect to the update page above.
I know the url_to_postid(site_url("slug")) function, but I don't know how can I pass the slug (from a form or a textbox) to this function, then redirect to a url with the parameter.
Let me know on which of the following steps you want me to explain further.
sample code for template file (not tested):
<?php
/* Template Name: My Service */
$slug = $_REQUEST['slug'];
$id = url_to_postid(site_url($slug))
echo $id;
exit();
// or
echo json_encode(['id'=>$id]);
// or
// redirect to url + id
Update - Non ajax solutions
First 2 steps as before. Then make a <form>
around that button and <input name="slug">
that submits the to the address of the page you prepared in step 2.