Php WordPress将变量传递到另一个短代码
我有来自不同开发人员的多个插件,可以显示Amazon产品。 他们都要求我在他们的短代码中输入亚马逊分类IDPhp WordPress将变量传递到另一个短代码,php,wordpress,Php,Wordpress,我有来自不同开发人员的多个插件,可以显示Amazon产品。 他们都要求我在他们的短代码中输入亚马逊分类ID [amazon bestseller="1234567"] [amz_links node="1234567"] [amazon_toprated category="1234567"] 我在大量页面、小部件等中使用这些短代码。 我时不时地需要更改ID,手动更改它们是一件非常麻烦的事情 我的想法是创建自己的短代码,比如[myamazon\u id],然后在其他短代码中输入该短代码:[am
[amazon bestseller="1234567"]
[amz_links node="1234567"]
[amazon_toprated category="1234567"]
我在大量页面、小部件等中使用这些短代码。
我时不时地需要更改ID,手动更改它们是一件非常麻烦的事情
我的想法是创建自己的短代码,比如[myamazon\u id]
,然后在其他短代码中输入该短代码:[amazon畅销书=“[myamazon\u id]”]
不幸的是,这似乎不起作用,因为这些是自封闭的短代码,显然不允许在短代码内部使用短代码
[amazon bestseller="1234567"]
[amz_links node="1234567"]
[amazon_toprated category="1234567"]
我目前的解决方案是使用一个插件,允许我在WordPress页面和小部件中使用PHP
[insert_php]echo do_短码(“[amazon畅销书=“”.myamazonid()”);[/insert_php]
这确实有效,但我想知道是否有更好的解决方案将变量传递给短代码。在页面和小部件上直接使用PHP确实不是我喜欢的事情
我的目标是有这样的东西:
[amazon畅销书=“[myamazon\u id]”]
一个简单的解决方案就是插件。使用此插件,您可以创建3个新的短代码,其中包含3个具有类别ID的amazon短代码。现在,您可以使用新创建的短代码,如果您想更改类别ID,您只需在一个位置编辑它。一个简单的解决方案就是插件。使用此插件,您可以创建3个新的短代码,其中包含3个具有类别ID的amazon短代码。现在您可以使用新创建的短代码,如果您想更改类别ID,您只需在一个位置编辑它。使用类似的短代码>[amazon bestseller=“myamazon_ID”]可以使用以下代码
您不需要用这些大括号将另一个短代码括起来。“[”和“]”
使用类似的短代码
[amazon bestseller=“myamazon\u id”]
可以使用以下代码
您不需要用这些大括号将另一个短代码括起来。“[”和“]”
首先,您必须在函数中定义$atts项,因为$atts是一个数组 以下是在短代码中传递变量的完整代码- 假设您需要通过短代码显示类别的所有产品,您需要在函数文件中执行以下代码-
function creative_writing_func($atts) {
$args = array(
'post_type' => 'product',
'posts_per_page' => 10,
'product_cat' => $atts['categoryname']
);
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
global $product;
echo '<br /><a href="'.get_permalink().'">' . woocommerce_get_product_thumbnail().' '.get_the_title().'</a>';
endwhile;
wp_reset_query();
}
add_shortcode('creative_writing_func_short', 'creative_writing_func');
我们在短代码中传递类别名称(创造性写作英语文学)
您已经对它进行了测试,并且它正在工作。首先,您必须在函数中定义$atts项,因为$atts是一个数组 以下是在短代码中传递变量的完整代码- 假设您需要通过短代码显示类别的所有产品,您需要在函数文件中执行以下代码-
function creative_writing_func($atts) {
$args = array(
'post_type' => 'product',
'posts_per_page' => 10,
'product_cat' => $atts['categoryname']
);
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
global $product;
echo '<br /><a href="'.get_permalink().'">' . woocommerce_get_product_thumbnail().' '.get_the_title().'</a>';
endwhile;
wp_reset_query();
}
add_shortcode('creative_writing_func_short', 'creative_writing_func');
我们在短代码中传递类别名称(创造性写作英语文学)
我已经测试过了,它正在工作。这看起来是一个很好的解决方案,但我无法让它工作。短代码的行为就像没有提供ID一样,这让我相信
first\u shortcode\u amazon
函数不会将myamazon\u ID
解析为短代码,而是将其解析为普通文本。这看起来是一个很好的解决方案,但我无法让它工作。短代码的行为就像没有提供ID一样,这让我相信first\u shortcode\u amazon
函数不会将myamazon\u ID
解析为短代码,而是将其解析为普通文本。