Is this SLEEP MODE properly set up?

Hello,
i have an ATtiny85.
This is my first time with SLEEP MODE to save as much as power consumption as possible.

This is an automatic dosing pump for fertilizers that runs with batteries: i set the time of pump activation with a trimmer read from analogRead. The system go to sleep mode for 24hr after any automatic dosage.
So, i have one plant fertilization per day.

Could you please tell me if the following code for sleep mode is efficient and properly set?

Note that i don’t need any interrupts, if i wanna change time dosage i just change the position of the trimmer and reset the board with a switch.

#include <avr/sleep.h>
#include <avr/wdt.h>
#define PUMP 0

// sleep bit patterns:
//  1 second:  0b000110
//  2 seconds: 0b000111
//  4 seconds: 0b100000
//  8 seconds: 0b100001

ISR(WDT_vect){
  wdt_disable(); 
  }

void WatchDog(const byte interval){
  noInterrupts();
  wdt_reset();
  MCUSR = 0;                          // reset various flags
  WDTCR |= 0b00011000;               // see docs, set WDCE, WDE
  WDTCR =  0b01000000 | interval;    // set WDIE, and appropriate delay
  ADCSRA &= ~_BV(ADEN);
  set_sleep_mode (SLEEP_MODE_PWR_DOWN);
  sleep_bod_disable();
  interrupts();
  sleep_mode();     
  }

void setup(){
pinMode (0, OUTPUT); //pin for pump
pinMode (A1, INPUT); //pin for read a trimmer resistor
} 

void loop(){
  int timedelay= 10*analogRead (A1); //set time of pump activation range from 0 to 10.230 millisec
  digitalWrite (PUMP, HIGH); //piump on..
  delay (timedelay);   //..for this time..
  digitalWrite (PUMP, LOW); //..then off.
  for (int i = 0; i < 10800; i++){   
  WatchDog (0b100001);  //10800 * 8 sec = 24hr
  }
}