标签: shortcode

WordPress 中的动态简码和函数

我在基于数据库条目自动生成短代码方面遇到了一些问题。

我能够得到正常的简码工作,即:

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)

上面只是我希望它如何工作的一个例子。不是字面上我正在使用的代码。我将如何实现这一目标?): 谢谢。

wordpress shortcode

2
推荐指数
1
解决办法
1万
查看次数

如何用简码修改页面标题?

如何用短代码修改特定页面的页面标题?

以下将更改标题,但它会针对每个页面执行。我需要更多地控制它的执行位置。

function assignPageTitle(){
  return "Title goes here";
}
add_filter('wp_title', 'assignPageTitle');
Run Code Online (Sandbox Code Playgroud)

有没有办法在短代码函数中调用上述内容?我知道如何使用 do_shortcode() 但上面是一个过滤器。

我的目标是根据 URL 参数修改页面标题。这只发生在特定页面上。

php wordpress shortcode

2
推荐指数
1
解决办法
4138
查看次数

忘记密码需要 Woocommerce 简码

有人可以帮我解决 Woocommerce 问题吗?我看到他们删除了忘记密码的短代码,但我需要一个,因为我试图将表单嵌入弹出窗口。

如果有遇到类似问题的人可以提供帮助,那就太好了。

最后,它不需要是 Woocommerce,它可以是任何东西。

passwords wordpress forgot-password shortcode woocommerce

2
推荐指数
1
解决办法
2万
查看次数

获取 Woocommerce 订单接收页面中的订单 ID 作为短代码

我希望将 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)

php wordpress shortcode orders woocommerce

2
推荐指数
1
解决办法
6613
查看次数

创建短代码以在 Woocommerce 上显示产品库存状态

我想在我们的产品页面上显示库存状态,例如“有货”,我理想情况下希望通过自定义短代码显示库存状态。

有谁知道这是否可能或其他解决方案?

php wordpress product shortcode woocommerce

2
推荐指数
1
解决办法
6054
查看次数

Woocommerce 产品短代码 按 ID 顺序排列

我想通过 [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 列表并将其用于订单?

关于如何让这个东西发挥作用有什么想法吗?

php wordpress shortcode woocommerce

2
推荐指数
1
解决办法
2227
查看次数

获取 WooCommerce 产品总销售额

我创建了一个短代码,它将在循环中返回所有产品。我正在寻找一种方法来获得每种产品的总销售额。现在我仍然很难找到解决方案。

这是我的代码:

    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 wordpress product shortcode woocommerce

2
推荐指数
1
解决办法
1516
查看次数

WordPress:functions.php中的WP_Query返回空查询(对于自定义短代码)

我正在为一个孩子主题编写一个自定义短代码,我已将其放入我的孩子主题函数.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'>&lt;read more&gt;</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 shortcode

1
推荐指数
1
解决办法
4896
查看次数

Wordpress短信中的PHP

我有一个用于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 wordpress shortcode

1
推荐指数
1
解决办法
3139
查看次数

wordpress印刷中的短代码始终位于顶部,带有内联HTML

我在我写的插件中有一个短代码.短代码总是打印在顶部,经过一些研究后我发现我必须'返回'而不是'回声'让我把它放到正确的位置.

我在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)

html php wordpress shortcode

1
推荐指数
1
解决办法
2304
查看次数