Sí, Campos personalizados es una buena respuesta para eso.
Para facilitar las cosas, hay un par de complementos que pueden automatizar el proceso y crear una interfaz agradable para eso.
Uno es Campos personalizados personalizados , pero su Campo repetible es un complemento premium, por lo que Te mostraré cómo hacerlo con otro.
Este complemento también administra los tipos de publicación personalizados, pero, si ya creaste el tuyo, aparecerán como "creados externamente".
De todos modos, también maneja campos personalizados y puedes asignarlos a cualquier CPT.
A continuación, una instantánea de una
Galería CPT que solo tiene el Título habilitado, más un campo repetible para Imágenes y otro campo para RelationShip
(puede ser cualquier tipo de publicación: publicación, página , cpt, archivo adjunto) .

Tendráqueleerel documentación del complemento sobre cómo implementar esos CF's con su código de tema.
Código de ejemplo sobre cómo recuperar el campo de imagen repetible denominado gallery_img:to_array
:
$the_imgs = get_custom_field('gallery_img:to_array');
foreach( $the_imgs as $img )
{
list( $url, $width, $height ) = wp_get_attachment_image_src( $img, 'thumbnail' );
echo '<img src="' . $url . '" width="' . $width . '" height="' . $height . '"><br />';
}