You can add (+) another AXI GPIO to your block diagram, similar to how it was done for the button in https://digilent.com/reference/programmable-logic/guides/getting-started-with-ipi. Name the (make) external connection pio instead of btn. Constrain the desired IO pins as pio_tri_io[0]...pio_tri_io[7]. Name the block AXI_GPIO_PIO and finish the build by running block automation. Follow the guide to create the HDL header, generate the bit stream, and export the design wrapper. In your SDK app, add the following, like it was done for the buttons and LEDs.
#define PIO_ID XPAR_AXI_GPIO_PIO_DEVICE_ID
#define PIO_CHANNEL 1
#define PIO_MASK 0b11111111
cfg_ptr = XGpio_LookupConfig(PIO_ID);
XGpio_CfgInitialize(&pio_device, cfg_ptr, cfg_ptr->BaseAddress);
XGpio_SetDataDirection(&pio_device, PIO_CHANNEL, 0); //output
//update the first eight GPIOs.
XGpio_DiscreteWrite(&pio_device, PIO_CHANNEL, pio_data);