There is an R package called PCAmixdata which is described in the preprint Chavent, M., Kuentz-Simonet, V., Labenne, A., Saracco, J., Multivariate analysis of mixed data: The PCAmixdata R package.
They include categorical and continuous variables together in the algorithm mainly multiplying for a matrix that allows different metrics. I wonder if there could be an analogous extension for ordinal variables.
Update: looking around I found this interesting question in which someone is trying to use PCA on ordinal data. There are some interesting suggestions, especially regarding the R homals package.
I just copy-paste here the abstract from their software paper (in the link above):
Homogeneity analysis combines the idea of maximizing the correlations between variables of a multivariate data set with that of optimal scaling. In this article we present
methodological and practical issues of the R package homals which performs homogeneity
analysis and various extensions. By setting rank constraints nonlinear principal component analysis can be performed. The variables can be partitioned into sets such that
homogeneity analysis is extended to nonlinear canonical correlation analysis or to predictive models which emulate discriminant analysis and regression models. For each model
the scale level of the variables can be taken into account by setting level constraints. All
algorithms allow for missing values.