我在基于数据库条目自动生成短代码方面遇到了一些问题。
我能够得到正常的简码工作,即:
function route_sc5() {
return "<div>Route 5</div>";
}
add_shortcode('route 5','route_sc');
Run Code Online (Sandbox Code Playgroud)
和以下激活它的短代码是[route 5]
这有效。但我需要的是为每个数据库条目生成的简码。就像是:
$routes = $wpdb->get_results( $wpdb->prepare("SELECT * FROM wp_routes") );
foreach($routes as $route)
{
function route_sc$route->id () {
return "<div>Route $route->id</div>";
}
add_shortcode('route $route->id','route_sc$route->id');
}
Run Code Online (Sandbox Code Playgroud)
上面只是我希望它如何工作的一个例子。不是字面上我正在使用的代码。我将如何实现这一目标?): 谢谢。
如何用短代码修改特定页面的页面标题?
以下将更改标题,但它会针对每个页面执行。我需要更多地控制它的执行位置。
function assignPageTitle(){
return "Title goes here";
}
add_filter('wp_title', 'assignPageTitle');
Run Code Online (Sandbox Code Playgroud)
有没有办法在短代码函数中调用上述内容?我知道如何使用 do_shortcode() 但上面是一个过滤器。
我的目标是根据 URL 参数修改页面标题。这只发生在特定页面上。
有人可以帮我解决 Woocommerce 问题吗?我看到他们删除了忘记密码的短代码,但我需要一个,因为我试图将表单嵌入弹出窗口。
如果有遇到类似问题的人可以提供帮助,那就太好了。
最后,它不需要是 Woocommerce,它可以是任何东西。
我希望将 WooCommerce 订单 ID 作为短代码引用,以便在收到的订单页面中轻松使用以生成动态链接。
function my_order_id( $atts ) {
echo $order->get_id();
}
add_shortcode( 'my_order_id', 'my_order_id');
Run Code Online (Sandbox Code Playgroud) 我想在我们的产品页面上显示库存状态,例如“有货”,我理想情况下希望通过自定义短代码显示库存状态。
有谁知道这是否可能或其他解决方案?
我想通过 [products ids=""] 短代码中输入的 id 来订购产品显示。我需要按照您输入的顺序进行订购。所以... [products ids="1,2,3"] [products ids="3,1,2"] [products ids="2,3,1"] ...所有列表都不同。
我发现这段代码我认为很接近,但不太有效。我不太熟悉这种方法,所以我不确定哪里出了问题。
add_filter( 'woocommerce_shortcode_products_query', 'woocommerce_shortcode_products_orderby' );
function woocommerce_shortcode_products_orderby( $args ) {
$standard_array = array('menu_order','title','date','rand','id');
if( isset( $args['orderby'] ) && !in_array( $args['orderby'], $standard_array ) ) {
$args['orderby'] = 'post__in';
}
return $args;
Run Code Online (Sandbox Code Playgroud)
我阅读了 post__in 但不确定它如何获取我输入的 ID 列表。是否有另一种/更好的方法来获取该 id 列表并将其用于订单?
关于如何让这个东西发挥作用有什么想法吗?
我创建了一个短代码,它将在循环中返回所有产品。我正在寻找一种方法来获得每种产品的总销售额。现在我仍然很难找到解决方案。
这是我的代码:
function loop_ffh_function()
{
?>
<div class="row">
<?php
$args = array(
'numberposts' => -1,
'post_type' => 'product',
'orderby' => 'date');
$loop = new WP_Query($args);
while ($loop->have_posts()) : $loop->the_post();
global $product; ?>
<?php
$productID = get_the_ID();
?>
<div class="column">
<a href="<?php echo get_permalink($loop->post->ID) ?>">
<?php the_post_thumbnail('full'); ?>
</a>
<?php
$target = get_field( 'campaign_target_amount' );
?>
<div class="progress" style="margin-top:20px;">
<div class="progress-bar progress-bar-warning progress-bar-striped active" role="progressbar"
aria-valuenow="40" aria-valuemin="0" aria-valuemax="100" style="width:40%">
40%
</div>
</div>
<div class="row">
<div class="col-md-8" style="padding-top:7px;">
Target : <b style="font-size: …Run Code Online (Sandbox Code Playgroud) 我正在为一个孩子主题编写一个自定义短代码,我已将其放入我的孩子主题函数.php.这是代码:
function get_featured_video(){
$video_query = new WP_Query('category_name=videos&order=ASC');
$videoPath = "/";
$videoText = "";
while ($video_query->have_posts()){
$video_query->the_post();
$featured = get_post_meta($post->ID, "vid_feature", $single = true);
if(strtolower($featured)=='yes'){
$videoPath = get_permalink($post->ID);
$content = strip_tags($post->post_content);
$contentArr = str_word_count($content,1);
if(count($contentArr>50)){
$videoText = join(" ",array_slice($contentArr,0,50));
$videoText .= " <a href='$link'><read more></a>";
} else {
$videoText = $content;
}
break;
}
}
$returnStr = "<h1><a href='$videoPath'>You've Got to See This!</a></h1>\n";
$returnStr .= $videoText;
return $returnStr;
}
add_shortcode('getfeaturedvideo','get_featured_video');
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是它返回一个空白查询.我知道视频类别中有一个帖子.我从未在functions.php中使用过WP_Query.我需要使用不同的方法吗?
我有一个用于Wordpress的PHP短代码,我们称之为[myshortcode].
短代码允许您输入这样的下载URL [myshortcode download ="http://www.example.com/file.pdf"].
我想在模板文件中使用此短代码,但下载URL是变量.这是可能的,如果是的话,我该怎么做?
我试过这些,但它不起作用......
<?php echo do_shortcode('[myshortcode download="<?php echo $variable['dllink']; ?>"]'); ?>
<?php echo do_shortcode('[myshortcode download="echo $variable['dllink'];"]'); ?>
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我在我写的插件中有一个短代码.短代码总是打印在顶部,经过一些研究后我发现我必须'返回'而不是'回声'让我把它放到正确的位置.
我在PHP文件中的各种脚本标签中都有内联HTML,css,javascript.有没有办法我可以让它工作而不试图返回所有内联HTML.(在所有html标签中添加'return'是一项巨大的努力)?
我知道有一个关于短代码打印的问题已被问到,但这与我遇到的问题并不完全相同.
感谢您的回答.
只是让人们了解我正在处理的代码:这只是代码的一小部分,但有html,css遍布各处.
extract(shortcode_atts(array(
'id'=>'0', 'key'=>'0'), $atts));
if(substr($id, -3) == "***") $id = substr($id, 0, 8);
$id_licenses = getDbInfo($id);
$id_desc = array();
if(is_array($id_licenses)) $id_desc = $id_licenses;
else $id_desc[0] = $id_licenses;
if(isset($_POST['desc'])) {
$info = $_POST['desc'];
$ids = getDbInfoByDesc($info);
}
?>
<style type="text/css">
label.inputlabel
{
width: 8em;
float: left;
text-align: left;
margin-right: 0.5em;
display: block;
padding-left: 0.5em;
font-family: Tahoma;
}
Run Code Online (Sandbox Code Playgroud)