web-dev-qa-db-ja.com

ページにリンクされた分類法

私の製品ページでは、多くのカスタム分類法を追加しました。その1つが「コレクシオン」と呼ばれる分類法です。あなたがこのURLで例えば見ることができるように: https://www.editorialufv.es/catalogo/comunicacion-clinica/ すべての本はコレクションの一部です(スペイン語でcolección)。

商品ページに表示されるリンクが、ショップページフィルタではなく、すべてのコレクションに対して行ったページにリダイレクトされるようにします。この場合、コレクションは "relaciónclínica"と呼ばれ、彼のURLは次のとおりです。 https://www.editorialufv.es/coleccionesufv/relacion-clinica/

あなたの一人のおかげで私は作者の名前のために似たようなことをしました:今彼らはショップフィルタページではなくメンバーページにリンクします。そうするために、私はこのようにfunction.phpを修正しました:

add_action( 'woocommerce_single_product_summary', 'show_product_autor', 24 );
function show_product_autor(){

// get this woo-comm's product author
$authors = wp_get_post_terms( get_the_ID(), 'autor' );

// we know it'll just be one author, so use first object of array
$author = array_pop($authors);

// knowing the authors name, lets find the TEAM page
$authorTeamPg = get_page_by_title( $author->name, 'OBJECT', 'team' );

// now we know the authors page
$authorTeamPgLink = get_permalink( $authorTeamPg->ID);

// output
echo "<b>AUTOR: </b><a href='{$authorTeamPgLink}'>{$author->name}</a>",'<br />';
}

今、私は結果のコレクションの分類学のために同じことをやろうとしました。ここで私の試み:

add_action( 'woocommerce_single_product_summary', 'show_product_colecciones', 25 );

function show_product_colecciones(){

$collections = wp_get_post_terms( get_the_ID(), ‘Colecciones’ );

$collection = array_pop($collections);

$collectionPg = get_page_by_title ( $collection->name, ‘OBJECT’, ‘page’ );

$collectionPgLink = get_permalink( $collectionPg->ID);

echo “<b>COLECCIÓN: </b><a href=‘{$collectionPgLink}’>{$collection->name}</a>”, ‘<br />’;
}

分類法のコードは次のとおりです。

$labels = array(
'name' => _x( 'Colecciones', 'taxonomy general name' ),
'singular_name' => _x( 'Colección', 'taxonomy singular name' ),
'search_items' =>  __( 'Buscar colecciones' ),
'all_items' => __( 'Todas las colecciones' ),
'parent_item' => __( 'Colección padre' ),
'parent_item_colon' => __( 'Colección padre:' ),
'edit_item' => __( 'Editar colección' ), 
'update_item' => __( 'Actualizar colección' ),
'add_new_item' => __( 'Añadir nueva colección' ),
'new_item_name' => __( 'Nombre de la nueva colección' ),
'menu_name' => __( 'Colecciones' ),
);     

register_taxonomy('colecciones',array('product'), array(
'hierarchical' => true,
'labels' => $labels,
'show_ui' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'colecciones' ),
));
}

私を助けることができる人はいますか?

1
Stefano

このコードブロックでは、二重引用符と一重引用符の両方が正しい種類ではありません。また、分類名は小さい「c」のある「colecciones」ですが、大文字の「C」のある「Coleccions」を使用しました。大文字と小文字が区別されます。したがって、機能コードは次のようになります。

function show_product_colecciones(){

  $collections = wp_get_post_terms( get_the_ID(), 'colecciones' );

  $collection = array_pop($collections);

  $collectionPg = get_page_by_title ( $collection->name, 'OBJECT', 'page' );

  $collectionPgLink = get_permalink( $collectionPg->ID);

  echo "<b>COLECCIÓN: </b><a href='{$collectionPgLink}'>{$collection->name}</a>", '<br />';

}
1
inarilo