So here are your needs:
- WiFi, which uses pins 4, 10, 11, 12, 13. I know you said that you don't need pin 4 since no SD, but because that pin switches on/off the SD card, if you use it at all, the SD card will be enabled. Note: As Connor Wolf points out, it's not really relevant when there's no SD card, but I still think that it shouldn't be overlooked because if you forget and plug in a SD card, problems will arise. If you want to prevent this from happening, look at my "hack" below.
- LCD, which uses pins 4, 5, 6, 7, 8, 9. The standard Arduino LCD library can use any pins, but your shield is hard wired to use those. As mentioned before, you can reroute them if you want to. Below is the method for rerouting pins.
Rerouting pins (optional):
- Bend pin 4 on the LCD shield and the WiFi shield outward so it doesn't make contact with the header
- Use
LiquidCrystal lcd(8,9,3,5,6,7);in your code - Attach a jumper between the pin 4 on the header of the WiFi shield and the pin 4 on the Arduino Uno
- Attach a jumper between the pin 3 of the WiFi shield (or the Uno, if that's easier) and the pin 4 of the LCD.
This will isolate pin 4 on the LCD, still send the pin 4 signal to the WiFi shield, and reroute the signal from pin 3 on your Arduino to pin 4 on the LCD shield.
For number of pins, you should be fine. You can use pins 0 and 1 (TX/RX) as long as you aren't connecting to the computer or any other UART device (i.e. using the Serial() library). Don't forget you can use the analog pins as digital pins by referencing them as A0 to A5.