hu7sy
Creo una relación padre-hijo para tipos de publicaciones personalizadas.
Genérico: www.example.com/parent/parent_post
Ejemplo: www.example.com/projects/project-one
En la URL anterior, el padre es un tipo de publicación personalizada y la publicación principal es su publicación única. Puedo mostrar a los padres todas las publicaciones y publicaciones individuales respectivamente como archive-parent.php y single-parent.php .
Como mencioné anteriormente, creo una relación padre-hijo y con una publicación secundaria que almacena ‘post_parent’ como identificación principal.
Genérico: www.example.com/child/parent_post/child_post
Ejemplo: www.example.com/project_article/project-one/first-article
Y para una publicación secundaria específica, la URL será la anterior.
El siguiente código es para obtener una publicación secundaria específica. Y funciona bien.
function my_add_rewrite_rules() {
add_rewrite_tag('%child%', '([^/]+)', 'child=');
add_permastruct('child', 'child/%parent%/%child%', false);
add_rewrite_rule('^child/([^/]+)/([^/]+)/?','index.php?child=$matches[2]','top');
}
add_action( 'init', 'my_add_rewrite_rules' );
function my_permalinks($permalink, $post, $leavename) {
$post_id = $post->ID;
if($post->post_type != 'child' || empty($permalink) || in_array($post->post_status, array('draft', 'pending', 'auto-draft')))
return $permalink;
$parent = $post->post_parent;
$parent_post = get_post( $parent );
$permalink = str_replace('%parent%', $parent_post->post_name, $permalink);
return $permalink;
}
add_filter('post_type_link', 'my_permalinks', 10, 3);
Genérico: www.example.com/child/parent_post
Ejemplo: www.example.com/project_article/project-one
Ahora quiero todas las publicaciones secundarias con la publicación principal, como en la URL anterior.
Soy nuevo en word-press Por favor guíe.
Subcontratar WordPress
Asumiendo parent
como tipo de publicación personalizada principal, child
como tipo de publicación personalizada infantil y espero que necesite una URL de publicación infantil como http://www.example.com/parent/parent-post/child/child-post
en vez de http://www.example.com/child/parent-post/child-post
.
Cambia tu my_add_rewrite_rules()
función a la siguiente.
function my_add_rewrite_rules() {
add_rewrite_tag('%child%', '([^/]+)', 'child=');
add_permastruct('child', '/parent/%parent%/child/%child%', false);
add_rewrite_rule('^parent/([^/]+)/child/([^/]+)/?','index.php?child=$matches[2]','top');
}
add_action( 'init', 'my_add_rewrite_rules' );
Después de actualizar no olvides al ras enlaces permanentes a través de ‘Configuración > Enlaces permanentes’.
-
Ya había creado {single-custom-post-type-name}.php, si ve esta URL: Ejemplo: www.example.com/project_article/project-one/first-article y código: add_rewrite_rule(‘^child/ ([^/]+)/([^/]+)/?’,’index.php?child=$coincidencias[2]’,’parte superior’); por favor lea mi pregunta nuevamente gracias de antemano y si mira esta url 1fix.io/blog/2016/02/05/padre-de-otro-cpt puede obtener una publicación de un solo hijo relacionada con un padre soltero y no puede obtener una publicación de todos los hijos relacionada con un padre soltero.
– hu7sy
7 sep 2018 a las 11:25
-
Oh, ¿está utilizando 2 tipos de publicaciones personalizadas y vincula las publicaciones del segundo tipo de publicación como elemento secundario del primer tipo de publicación?
– Subcontratar WordPress
7 sep 2018 a las 11:58
-
¿Dónde dice que no se enumeran todas las publicaciones secundarias, en el cuadro meta ‘principal’?
– Subcontratar WordPress
7 sep 2018 a las 12:21
-
busque en esta URL: Ejemplo: www.example.com/project_article/project-one/first-article. project-one es una publicación única de tipo de publicación personalizada principal y el primer artículo es secundario de project-one de publicación única de tipo de publicación personalizada. /project-one luego busca todas las publicaciones secundarias relacionadas con la publicación personalizada de project-one
– hu7sy
7 sep 2018 a las 12:37
-
si agrego single-parent.php, devolverá todas las publicaciones relacionadas con el tipo de publicación principal, no es secundaria.
– hu7sy
7 sep 2018 a las 12:40
Los enlaces de su servidor local no funcionarán aquí.
– Nirmohi
3 de septiembre de 2018 a las 7:22
No puede publicar enlaces de localhost aquí.
– duende
3 de septiembre de 2018 a las 7:22
Un poco confundido: ¿tiene un solo tipo de publicación personalizada llamado
child
con jerarquía padre-hijo y desea enumerar todas las publicaciones secundarias cuando se accede a una página principal?– Subcontratar WordPress
7 sep 2018 a las 10:07
sí, casi tienes mi pregunta @OutsourceWordPress, quiero todas las publicaciones secundarias relacionadas con padres solteros y estoy almacenando parent_post (id) en la publicación secundaria
– hu7sy
7 sep 2018 a las 10:28