デフォルトでは、 WordPress tagクラウドウィジェットには一定量の45タグが表示されます。これはwp-includes/category-template.php
ファイルで見ることができます。
デフォルトでは、私がインストールした WooCommerce プラグイン、そしてそれは製品タグクラウドウィジェットでもあります。
たとえば15個の商品タグのみを表示するために、wp-content/themes/functions.php
ファイル内からこの金額を変更するにはどうすればよいですか。
これが私のこれまでのところですが、それはうまくいきません。
function custom_tag_cloud_widget($args) {
$args['smallest'] = 8; //smallest tag
$args['largest'] = 22; //largest tag
$args['number'] = 15; //adding a 0 will display all tags
$args['unit'] = 'pt'; //tag font unit
return $args;
}
add_filter( 'widget_tag_cloud_args', 'custom_tag_cloud_widget' );
ただし、コアのwp-includes.php/category-template.php
ファイル内の番号を15に変更してもうまくいきます。
明らかに、私はどんなコアファイルも編集したくないし、代わりの解決策を探しています。
ありがとう。
テーマのfunction.phpに以下を追加してください。 'number'を45から15に変更した以外は、デフォルト値を以下に示します。変更した値だけを含める必要があるため、デフォルト値をそのまま使用するか、それらの行を削除/コメントアウトすることができます。
Wordpressのタグクラウドウィジェットの場合:
function custom_tag_cloud_widget() {
$args = array(
'smallest' => 8,
'largest' => 22,
'unit' => 'pt',
'number' => 15,
'format' => 'flat',
'separator' => "\n",
'orderby' => 'name',
'order' => 'ASC',
'exclude' => '',
'include' => '',
'link' => 'view',
'taxonomy' => 'post_tag',
'post_type' => '',
'echo' => true
);
return $args;
}
add_filter( 'widget_tag_cloud_args', 'custom_tag_cloud_widget' );
WooCommerce商品タグウィジェットの場合:
function custom_woocommerce_tag_cloud_widget() {
$args = array(
'number' => 15,
'taxonomy' => 'product_tag'
);
return $args;
}
add_filter( 'woocommerce_product_tag_cloud_widget_args', 'custom_woocommerce_tag_cloud_widget' );
このスレッドは今日の出発点でした。私が私のウェブサイトに加えた変更はあなたがWooCommerceに加えるものと相関するかもしれません。私はProduct Tag Cloudにもっと古い検索用語を表示したいと思いました。私のウェブサイトはWP Eコマース、古いバージョンを持っています。他に答えがないので、wp-includes/category-template.php
ファイルに行き、45を検索し、60に変更してテストしました。 Blog Tag Cloudでは機能しましたが、Product Tag Cloudでは機能しませんでした。コードは次のようになりました。
function wp_tag_cloud( $args = '' ) {
$defaults = array(
'smallest' => 8, 'largest' => 22, 'unit' => 'pt', 'number' => 45,
'format' => 'flat', 'separator' => "\n", 'orderby' => 'name', 'order' => 'ASC',
'exclude' => '', 'include' => '', 'link' => 'view', 'taxonomy' => 'post_tag', 'echo' => true
);
WP Eコマースファイルで、wp-content/plugins/wp-e-commerce/tagging_functions.php
、同様のセクションにあります(45で検索)。
function product_tag_cloud(){
product_tag_init();
$defaults = array(
'smallest' => 8, 'largest' => 22, 'unit' => 'pt', 'number' => 60,
'format' => 'flat', 'orderby' => 'name', 'order' => 'ASC',
'exclude' => '', 'include' => ''
45から60に変更し、保存してテストしました。出来た。タグクラウドは60に増えました。
Blog Cloudで番号を45に戻して、もう一度テストしました。 Blog Cloudには現在45の用語があり、Product Tag Cloudには60の用語があります。明らかな競合はありません。
古いタグを削除して新しいタグを強調するために、各製品のタグを編集しています。クラウドは徐々に調整されています - いくつかの用語を削除し、他の用語を追加します。
私は簡単な解決策を見つけました、あなたの function.php ファイルにこのフックを置いてください。それは私にとってはうまくいきます。必要に応じてnumberパラメータの値を変更するだけです。
//Register tag cloud filter
add_filter('widget_tag_cloud_args', 'tag_widget_limit');
//Limit number of tags inside widget
function tag_widget_limit($args){
//Check if taxonomy option inside widget is set to tags
if(isset($args['taxonomy']) && $args['taxonomy'] == 'post_tag'){
$args['number'] = 10; //Limit number of tags
}
return $args;
}
ここにソースがあります https://w3reign.com/change-tag-cloud-widget-limit-in-wordpress/