Welcome to the Question2Answer Q&A. There's also a demo if you just want to try it out.
0 votes
479 views
in Q2A Core by


Google announces the end of support for data-vocabulary from April 6, 2020!

so How To Fix “data-vocabulary.org schema deprecated” Error ?

3 Answers

+1 vote
by
selected by
 
Best answer
No worry!
Q2A uses schema.org microdata. Your site is using this too.
Even if one day schema.org got butted, there will be something else. In this case, we look for the question view structure (let's say it can be in qa-theme-base.php) and then modify and override it in your theme (qa-theme/ThemeName/qa-theme.php).
by
it is a problem. it makes me sad
by
If your using old versions of Q2A or using some plugins, you need to change data-vocabulary.org to schema.org. Their structures are almost the same.
by
I am using the last version. but this problem still exists. everyone left here.

I think I have to cancel the breadcrumbs.
by
i can do this with json but i don't know how to print url structure and category name
by
I see that you're using schemea.org for questions. It's ok.
But for breadcrumbs plugin, you need to edit this file the file /inc/Ami_BreadcrumbElement.php

https://github.com/amiyasahu/q2a-breadcrumbs/blob/master/inc/Ami_BreadcrumbElement.php

Standard structure of schema.org can be found here https://schema.org/BreadcrumbList

You can also Google for comparison of these two sites' structure for quick fixes. This link helps: https://meetanshi.com/blog/fix-data-vocabulary-org-schema-deprecated-error/
by
meta itemprop="position" content="1"

how can I print the numbers here. I almost solved the problem.
by
Ideally, that line of code is for the category link anchored by the category name.
But amiyasahu's code does not have such variable for category. So, I would suggest you use it for your homepage instead.

This way, your link will appear on Google result like this:

Home > Why  can birds fly?
by
what is the correct shape of this links?
https://schema.org/Breadcrumb
https://schema.org/breadcrumb
https://schema.org/BreadcrumbList
The first form when entering it gives that the page is not available
by
email me I will assign you seamless plugin codes or update yourself as in this link.

https://github.com/amiyasahu/q2a-breadcrumbs/pulls
0 votes
by
I hope this problem is solved. I sent a message to ami via github. I think the managers left here.
+1 vote
by

The problem of "q2a-breadcrumbs" can be solved by the following method.

1.Rewrite the source of "Ami_BreadcrumbElement.php".

        public function _init()

        {

            $this->_data = array(

                'breadcrumb_structure'        => '<li {{class}} itemscope itemtype="http://data-vocabulary.org/Breadcrumb" ><a href="{{url}}" itemprop="url" > <span itemprop="title"> {{text}} </span></a></li>',

                'breadcrumb_structure_nolink' => '<li {{class}} itemscope itemtype="http://data-vocabulary.org/Breadcrumb" ><span itemprop="title"> {{text}} </span></li>',

                'type'                        => null,

                'text'                        => null,

                'url'                         => null,

                'class'                       => null,

                'is_last_elem'                => false,

            );

↓ 

         public function _init()

        {

            $this->_data = array(

                'breadcrumb_structure'        => '<li {{class}} itemscope itemtype="http://schema.org/BreadcrumbList"><span itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a href="{{url}}" itemprop="item"> <span itemprop="name"> {{text}} </span></a><meta itemprop="position" content="" /></span></li>',

                'type'                        => null,

                'text'                        => null,

                'url'                         => null,

                'class'                       => null,

                'is_last_elem'                => false,

            );

The important thing is to leave the "content" value blank(content="").

2.Place the following JavaScript anywhere.

<script>

$(function(){

    $('div.donut-breadcrumb meta').each(function(i){

        $(this).attr('content',(i+1));

    });

});

</script>

Now the number is written in the blank "content"(content="1" content="2"...).

It is automatically described as 1,2,3 ... in the order of appearance of "content".

If you look at the source with the verification function of Chrome, you will be able to confirm that the number is listed in "content=".

by
Congurulations
by
where i should put this code?

"<script>

$(function(){

    $('div.donut-breadcrumb meta').each(function(i){

        $(this).attr('content',(i+1));

    });

});

</script>"
by
Head on script
...