user48730: I’m considering using wifiManager mostly to have the ability not to hard code WiFi creditntials. 
But In my current code I use WiFi’s functions as WiFi.setAutoReconnect(true) and WiFi.status() != WL_CONNECTED
How can it be done using WifiManager?

user4143: You don't. WifiManager does all that for you. You don't need anything like that in your code. Just follow the examples and read the documentation.
But if you do want to then you just need to remember that WifiManager is merely a library that configures the WiFi for you. If you want to query or alter the WiFi settings you can - exactly as you are right now. The two aren't mutually exclusive.

user59562: Here's a working example that's on my Wemos D1 Mini. It stands up an AP until you provide credentials for your local LAN, then displays it's DHCP IP address on a 16x2 LCD and stands up a webserver. Once the credentials are stored it won't stand up the AP, it will just reconnect and do the main loop() of the sketch. To force the AP to restart you need to call the ESP.reset(); method to flush the stored credentials and reboot the Wemos.
#include <LiquidCrystal_PCF8574.h>
#include <ESP8266WiFi.h>

#include <WiFiManager.h>
#include <ESP8266WebServer.h>
#include <Wire.h>

WiFiClient wemosCL;

ESP8266WebServer server(80);

const int led = LED_BUILTIN;

LiquidCrystal_PCF8574 lcd(0x38);

void handleRoot() {
  digitalWrite(led, 1);
  server.send(200, "text/html", "<html><head><title>ESP8266 Demo</title><style>body{background-color: #cccccc; font-family: Arial, Helvetica, Sans-Serif; Color: #000088;}</style></head><body><h1>Hello from ESP8266!</h1><p>IP Addr: " +
          WiFi.localIP().toString() + "<p></body></html>");

  digitalWrite(led, 0);
}

void handleNotFound() {
  digitalWrite(led, 1);
  String message = "File Not Found\n\n";
  message += "URI: ";
  message += server.uri();
  message += "\nMethod: ";
  message += (server.method() == HTTP_GET) ? "GET" : "POST";
  message += "\nArguments: ";
  message += server.args();
  message += "\n";
  for (uint8_t i = 0; i < server.args(); i++) {
    message += " " + server.argName(i) + ": " + server.arg(i) + "\n";
  }
  server.send(404, "text/plain", message);
  digitalWrite(led, 0);
}

void setup(void) {
  Serial.begin(115200);
  WiFiManager wifiManager;
  wifiManager.autoConnect("Wemos", "configuration");
  pinMode(led, OUTPUT);
  digitalWrite(led, 0);

  lcd.begin(16, 2);
  lcd.setBacklight(255);
  lcd.print("I'm alive");

  // Wait for connection
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    lcd.setCursor(0, 0);
    lcd.print(".");
  }

  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("Status:Connected");
  lcd.setCursor(0, 1);
  lcd.print("IP:");
  lcd.print(WiFi.localIP());

  server.on("/", handleRoot);

  server.onNotFound(handleNotFound);

  server.begin();
}

void loop(void) {
  server.handleClient();
}


48730: <p>I’m considering using <code>wifiManager</code> mostly to have the ability not to hard code WiFi creditntials. 
But In my current code I use WiFi’s functions as <code>WiFi.setAutoReconnect(true)</code> and <code>WiFi.status() != WL_CONNECTED</code></p>

<p>How can it be done using <code>WifiManager</code>?</p>
 4143: <p>You don't. WifiManager does all that for you. You don't need anything like that in your code. Just follow the examples and read the documentation.</p>

<p>But if you do want to then you just need to remember that WifiManager is merely a library that configures the WiFi for you. If you want to query or alter the WiFi settings you can - exactly as you are right now. The two aren't mutually exclusive.</p>
 59562: <p>Here's a working example that's on my Wemos D1 Mini. It stands up an AP until you provide credentials for your local LAN, then displays it's DHCP IP address on a 16x2 LCD and stands up a webserver. Once the credentials are stored it won't stand up the AP, it will just reconnect and do the main loop() of the sketch. To force the AP to restart you need to call the <code>ESP.reset();</code> method to flush the stored credentials and reboot the Wemos.</p>

<pre><code>#include &lt;LiquidCrystal_PCF8574.h&gt;
#include &lt;ESP8266WiFi.h&gt;

#include &lt;WiFiManager.h&gt;
#include &lt;ESP8266WebServer.h&gt;
#include &lt;Wire.h&gt;

WiFiClient wemosCL;

ESP8266WebServer server(80);

const int led = LED_BUILTIN;

LiquidCrystal_PCF8574 lcd(0x38);

void handleRoot() {
  digitalWrite(led, 1);
  server.send(200, "text/html", "&lt;html&gt;&lt;head&gt;&lt;title&gt;ESP8266 Demo&lt;/title&gt;&lt;style&gt;body{background-color: #cccccc; font-family: Arial, Helvetica, Sans-Serif; Color: #000088;}&lt;/style&gt;&lt;/head&gt;&lt;body&gt;&lt;h1&gt;Hello from ESP8266!&lt;/h1&gt;&lt;p&gt;IP Addr: " +
          WiFi.localIP().toString() + "&lt;p&gt;&lt;/body&gt;&lt;/html&gt;");

  digitalWrite(led, 0);
}

void handleNotFound() {
  digitalWrite(led, 1);
  String message = "File Not Found\n\n";
  message += "URI: ";
  message += server.uri();
  message += "\nMethod: ";
  message += (server.method() == HTTP_GET) ? "GET" : "POST";
  message += "\nArguments: ";
  message += server.args();
  message += "\n";
  for (uint8_t i = 0; i &lt; server.args(); i++) {
    message += " " + server.argName(i) + ": " + server.arg(i) + "\n";
  }
  server.send(404, "text/plain", message);
  digitalWrite(led, 0);
}

void setup(void) {
  Serial.begin(115200);
  WiFiManager wifiManager;
  wifiManager.autoConnect("Wemos", "configuration");
  pinMode(led, OUTPUT);
  digitalWrite(led, 0);

  lcd.begin(16, 2);
  lcd.setBacklight(255);
  lcd.print("I'm alive");

  // Wait for connection
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    lcd.setCursor(0, 0);
    lcd.print(".");
  }

  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("Status:Connected");
  lcd.setCursor(0, 1);
  lcd.print("IP:");
  lcd.print(WiFi.localIP());

  server.on("/", handleRoot);

  server.onNotFound(handleNotFound);

  server.begin();
}

void loop(void) {
  server.handleClient();
}
</code></pre>
